{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://uniwire.sh/schema/v1/uniwire.schema.json",
  "title": "uniwire: electrical installation",
  "description": "uniwire 1.0.0 exchange format for describing electrical installations, drawn as single-line and multi-line diagrams (tree topology + links, characteristics, rendering preferences).",
  "$defs": {
    "Appliance": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "appliance",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "washing_machine",
                "dishwasher",
                "dryer",
                "freezer",
                "fridge",
                "other"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        }
      },
      "required": [
        "type"
      ],
      "title": "Appliance",
      "type": "object"
    },
    "Battery": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "battery",
          "title": "Type",
          "type": "string"
        },
        "capacity_kWh": {
          "anyOf": [
            {
              "description": "in kWh",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capacity Kwh"
        },
        "technology": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Technology"
        }
      },
      "required": [
        "type"
      ],
      "title": "Battery",
      "type": "object"
    },
    "Board": {
      "additionalProperties": false,
      "description": "Distribution board / cabinet / enclosure: container drawn as a dashed frame.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "board",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "main",
                "distribution",
                "sub",
                "ac_box",
                "dc_box",
                "mcc",
                "switchboard",
                "enclosure",
                "panelboard",
                "pdu",
                "substation"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current of the board / busbar",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "ik_kA": {
          "anyOf": [
            {
              "description": "Maximum Ik at the busbar",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ik Ka"
        },
        "ik1_kA": {
          "anyOf": [
            {
              "description": "Minimum Ik (Ik1) at the busbar",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ik1 Ka"
        },
        "system": {
          "anyOf": [
            {
              "enum": [
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "DC",
                "split-phase"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "System"
        },
        "earthing": {
          "anyOf": [
            {
              "enum": [
                "TT",
                "TN",
                "TN-C",
                "TN-S",
                "TN-C-S",
                "IT"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Earthing system specific to the board (downstream of a transformer, local IT...)",
          "title": "Earthing"
        },
        "ways": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of outgoing ways / modules",
          "title": "Ways"
        },
        "ip": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Ingress protection rating: 'IP30', 'IP65 IK08'",
          "title": "Ip"
        },
        "form": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Form of internal separation: '2b', '4a'",
          "title": "Form"
        },
        "own_sheet": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Force rendering on a dedicated sheet",
          "title": "Own Sheet"
        },
        "pen_split": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "TN-C-S: the PEN conductor is split into PE + N at this board (by default, the first board of a TN-C-S installation)",
          "title": "Pen Split"
        }
      },
      "required": [
        "type"
      ],
      "title": "Board",
      "type": "object"
    },
    "Breaker": {
      "additionalProperties": false,
      "description": "Circuit breaker: modular, moulded-case or air circuit breaker.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "breaker",
          "title": "Type",
          "type": "string"
        },
        "curve": {
          "anyOf": [
            {
              "enum": [
                "B",
                "C",
                "D",
                "K",
                "Z",
                "MA"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Curve"
        },
        "trip_unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Trip unit: 'Micrologic 2.2', 'TM-D', 'LSIG'...",
          "title": "Trip Unit"
        },
        "ir_A": {
          "anyOf": [
            {
              "description": "Long-time / thermal setting",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ir A"
        },
        "isd_A": {
          "anyOf": [
            {
              "description": "Short-time / magnetic setting",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Isd A"
        },
        "ii_A": {
          "anyOf": [
            {
              "description": "Instantaneous setting",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ii A"
        },
        "tsd_s": {
          "anyOf": [
            {
              "description": "Short-time delay",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Tsd S"
        },
        "gf_A": {
          "anyOf": [
            {
              "description": "Ground-fault protection threshold (GF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Gf A"
        },
        "selective": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Selective circuit breaker (SLS)",
          "title": "Selective"
        }
      },
      "required": [
        "type"
      ],
      "title": "Breaker",
      "type": "object"
    },
    "Busbar": {
      "additionalProperties": false,
      "description": "Explicit busbar (otherwise implicit as soon as a node has several children).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "busbar",
          "title": "Type",
          "type": "string"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "ik_kA": {
          "anyOf": [
            {
              "description": "in kA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ik Ka"
        },
        "dimensions": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'28x10', 'comb 63 A'...",
          "title": "Dimensions"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "busbar",
                "busway",
                "comb"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'busway' = prefabricated busbar trunking",
          "title": "Kind"
        },
        "material": {
          "anyOf": [
            {
              "enum": [
                "Cu",
                "Al"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Material"
        },
        "system": {
          "anyOf": [
            {
              "enum": [
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "DC",
                "split-phase"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "System"
        },
        "earthing": {
          "anyOf": [
            {
              "enum": [
                "TT",
                "TN",
                "TN-C",
                "TN-S",
                "TN-C-S",
                "IT"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Earthing"
        }
      },
      "required": [
        "type"
      ],
      "title": "Busbar",
      "type": "object"
    },
    "Cable": {
      "additionalProperties": false,
      "description": "Cable run (canalisation) feeding the node from its parent.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "designation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable type: U1000R2V, H07V-U, AR2V, XVB...",
          "title": "Designation"
        },
        "cores": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Core composition: '3G', '5G', '4x', '4x(2x1x240)'... (without the cross-section)",
          "title": "Cores"
        },
        "section_mm2": {
          "anyOf": [
            {
              "description": "Cross-section of the live conductors",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Section Mm2"
        },
        "pe_section_mm2": {
          "anyOf": [
            {
              "description": "PE cross-section, if different",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pe Section Mm2"
        },
        "neutral_section_mm2": {
          "anyOf": [
            {
              "description": "Neutral cross-section, if different",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Neutral Section Mm2"
        },
        "parallel": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of parallel cables per phase",
          "title": "Parallel"
        },
        "material": {
          "anyOf": [
            {
              "enum": [
                "Cu",
                "Al"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Material"
        },
        "length_m": {
          "anyOf": [
            {
              "description": "Length",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Length M"
        },
        "install": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Installation method, IEC 60364-5-52 reference: A1, B, C, E, F...",
          "title": "Install"
        },
        "insulation": {
          "anyOf": [
            {
              "enum": [
                "PVC",
                "PR",
                "EPR",
                "XLPE"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Insulation"
        },
        "du_pct": {
          "anyOf": [
            {
              "description": "Calculated voltage drop at the cable end",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Du Pct"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable tag / label: C1, W12, schedule tag 15B",
          "title": "Ref"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "cable",
                "busway",
                "overhead",
                "bar",
                "trunk"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        },
        "conductors": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Conductor functions: 'L1, L2, L3, N, PE'",
          "title": "Conductors"
        },
        "pen": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "PEN conductor (TN-C)",
          "title": "Pen"
        },
        "cpr_class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "CPR reaction-to-fire class: 'Cca-s1,d1,a1', 'Eca'",
          "title": "Cpr Class"
        },
        "size_awg": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Size in AWG/kcmil as printed: '#4/0', '500 kcmil'",
          "title": "Size Awg"
        },
        "raceway": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Conduit / raceway: '2\" EMT', 'tube IRL 20'",
          "title": "Raceway"
        },
        "ambient_C": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Ambient temperature used for calculation (°C)",
          "title": "Ambient C"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "marks": {
          "anyOf": [
            {
              "additionalProperties": {
                "type": "string"
              },
              "propertyNames": {
                "enum": [
                  "L1",
                  "L2",
                  "L3",
                  "N",
                  "PE",
                  "PEN",
                  "L+",
                  "L-"
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Wire marks (ferrule texts) of the conductors of this cable, by conductor: {'L1': '101', 'L2': '102', 'L3': '103', 'PE': 'PE'}. Kept by every marking scheme (keep_manual); written by 'uniwire marks --write' (freezing)",
          "title": "Marks"
        }
      },
      "title": "Cable",
      "type": "object"
    },
    "Connector": {
      "additionalProperties": false,
      "description": "Pluggable connector (MC4, connection plug / socket, cable connector).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "connector",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'MC4', 'Wieland', 'plug 3P+N+T 32 A'...",
          "title": "Kind"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        }
      },
      "required": [
        "type"
      ],
      "title": "Connector",
      "type": "object"
    },
    "Contactor": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "contactor",
          "title": "Type",
          "type": "string"
        },
        "function": {
          "anyOf": [
            {
              "enum": [
                "HC",
                "power",
                "lighting",
                "load_shedding",
                "grid_relay",
                "interface",
                "other"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Function"
        },
        "coil_V": {
          "anyOf": [
            {
              "description": "in V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Coil V"
        },
        "manual": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Manual override 0/1/Auto",
          "title": "Manual"
        }
      },
      "required": [
        "type"
      ],
      "title": "Contactor",
      "type": "object"
    },
    "Controller": {
      "additionalProperties": false,
      "description": "Control device drawn as a labelled box: load shedder,\npilot-wire controller, time switch, day/night relay, energy manager...",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "controller",
          "title": "Type",
          "type": "string"
        },
        "function": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'load shedder', 'pilot wire', 'time switch', 'EMS'...",
          "title": "Function"
        },
        "symbol_text": {
          "anyOf": [
            {
              "maxLength": 6,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Short text inside the box",
          "title": "Symbol Text"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Contact rating / rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        }
      },
      "required": [
        "type"
      ],
      "title": "Controller",
      "type": "object"
    },
    "Cooking": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "cooking",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "hob",
                "oven",
                "range",
                "other"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        }
      },
      "required": [
        "type"
      ],
      "title": "Cooking",
      "type": "object"
    },
    "DCConverter": {
      "additionalProperties": false,
      "description": "DC converter: PV optimizer, MPPT controller, DC/DC, solar charge controller.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "dc_converter",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "optimizer",
                "mppt",
                "dcdc",
                "charge_controller"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        },
        "p_kVA": {
          "anyOf": [
            {
              "description": "in kVA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kva"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        }
      },
      "required": [
        "type"
      ],
      "title": "DCConverter",
      "type": "object"
    },
    "Disconnector": {
      "additionalProperties": false,
      "description": "Disconnector, without on-load breaking capacity.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "disconnector",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "title": "Disconnector",
      "type": "object"
    },
    "EVCharger": {
      "additionalProperties": false,
      "description": "Electric vehicle charging equipment (EVSE).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "ev_charger",
          "title": "Type",
          "type": "string"
        },
        "mode": {
          "anyOf": [
            {
              "enum": [
                "2",
                "3",
                "4"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mode"
        }
      },
      "required": [
        "type"
      ],
      "title": "EVCharger",
      "type": "object"
    },
    "Earth": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "earth",
          "title": "Type",
          "type": "string"
        },
        "resistance_ohm": {
          "anyOf": [
            {
              "description": "in Ohm",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Resistance Ohm"
        }
      },
      "required": [
        "type"
      ],
      "title": "Earth",
      "type": "object"
    },
    "EarthBar": {
      "additionalProperties": false,
      "description": "Main earthing terminal / bar, PE bar or equipotential bar.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "earth_bar",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "main_earth",
                "pe_bar",
                "equipotential",
                "neutral_bar"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        }
      },
      "required": [
        "type"
      ],
      "title": "EarthBar",
      "type": "object"
    },
    "EarthingSwitch": {
      "additionalProperties": false,
      "description": "Earthing switch.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "earthing_switch",
          "title": "Type",
          "type": "string"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "in kA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "in V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        }
      },
      "required": [
        "type"
      ],
      "title": "EarthingSwitch",
      "type": "object"
    },
    "Enclosure": {
      "additionalProperties": false,
      "description": "Addressable enclosure: cabinet, MV (HTA) cell, box, room, zone, property boundary.\nUnlike ``board``, it only contains the listed nodes.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
          "title": "Id",
          "type": "string"
        },
        "kind": {
          "default": "cabinet",
          "enum": [
            "cabinet",
            "cell",
            "box",
            "room",
            "zone",
            "substation",
            "boundary",
            "lineup",
            "panel"
          ],
          "title": "Kind",
          "type": "string"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "cell_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "MV (HTA) cell function: 'IM', 'QM', 'DM1', 'CM', 'PM', 'GBC'",
          "title": "Cell Type"
        },
        "position": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Position within the switchgear line-up",
          "title": "Position"
        },
        "nodes": {
          "description": "ids of the contained nodes",
          "items": {
            "type": "string"
          },
          "title": "Nodes",
          "type": "array"
        },
        "parent": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Enclosing (parent) enclosure",
          "title": "Parent"
        },
        "un_V": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "ip": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ip"
        },
        "form": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Form"
        }
      },
      "required": [
        "id"
      ],
      "title": "Enclosure",
      "type": "object"
    },
    "Frame": {
      "additionalProperties": false,
      "description": "Enclosure frame drawn around a list of nodes (cabinet, box, switchgear cell)\nwhen it does not match a ``board`` subtree.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "nodes": {
          "description": "ids of the framed nodes",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "title": "Nodes",
          "type": "array"
        }
      },
      "required": [
        "nodes"
      ],
      "title": "Frame",
      "type": "object"
    },
    "Fuse": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "fuse",
          "title": "Type",
          "type": "string"
        },
        "fuse_class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'gG', 'aM', 'gPV'...",
          "title": "Fuse Class"
        },
        "size": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Size: '10x38', '22x58', 'NH00'...",
          "title": "Size"
        }
      },
      "required": [
        "type"
      ],
      "title": "Fuse",
      "type": "object"
    },
    "FuseSwitch": {
      "additionalProperties": false,
      "description": "Fuse switch-disconnector / fuse-carrier disconnector.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "fuse_switch",
          "title": "Type",
          "type": "string"
        },
        "fuse_A": {
          "anyOf": [
            {
              "description": "Fuse rating",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Fuse A"
        },
        "fuse_class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Fuse Class"
        },
        "size": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Size"
        }
      },
      "required": [
        "type"
      ],
      "title": "FuseSwitch",
      "type": "object"
    },
    "Generator": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "generator",
          "title": "Type",
          "type": "string"
        },
        "sn_kVA": {
          "anyOf": [
            {
              "description": "in kVA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sn Kva"
        },
        "fuel": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Fuel"
        },
        "prime_mover": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'diesel', 'turbine', 'wind', 'hydro'...",
          "title": "Prime Mover"
        }
      },
      "required": [
        "type"
      ],
      "title": "Generator",
      "type": "object"
    },
    "Grid": {
      "additionalProperties": false,
      "description": "Public distribution network / point of supply (point de livraison).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "grid",
          "title": "Type",
          "type": "string"
        },
        "supply": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'Tarif Bleu', 'Tarif Jaune', 'HTA 20 kV', 'Enedis C5'...",
          "title": "Supply"
        },
        "ik_kA": {
          "anyOf": [
            {
              "description": "Maximum Ik at the point of supply",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ik Ka"
        },
        "scc_MVA": {
          "anyOf": [
            {
              "description": "Short-circuit power of the upstream network, in MVA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Scc Mva"
        },
        "system": {
          "anyOf": [
            {
              "enum": [
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "DC",
                "split-phase"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "System"
        }
      },
      "required": [
        "type"
      ],
      "title": "Grid",
      "type": "object"
    },
    "Heating": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "heating",
          "title": "Type",
          "type": "string"
        },
        "pilot_wire": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pilot Wire"
        }
      },
      "required": [
        "type"
      ],
      "title": "Heating",
      "type": "object"
    },
    "ImpulseRelay": {
      "additionalProperties": false,
      "description": "Impulse relay.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "impulse_relay",
          "title": "Type",
          "type": "string"
        },
        "coil_V": {
          "anyOf": [
            {
              "description": "in V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Coil V"
        }
      },
      "required": [
        "type"
      ],
      "title": "ImpulseRelay",
      "type": "object"
    },
    "Installation": {
      "additionalProperties": false,
      "description": "General characteristics of the installation (title block + rules).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "earthing": {
          "anyOf": [
            {
              "enum": [
                "TT",
                "TN",
                "TN-C",
                "TN-S",
                "TN-C-S",
                "IT"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Earthing system",
          "title": "Earthing"
        },
        "system": {
          "anyOf": [
            {
              "enum": [
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "DC",
                "split-phase"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Supply system",
          "title": "System"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Nominal voltage (phase-to-phase in three-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "f_Hz": {
          "anyOf": [
            {
              "description": "in Hz",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": 50,
          "title": "F Hz"
        },
        "supply": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Utility connection type: 'Tarif Bleu', 'Tarif Jaune', 'HTA', 'C5', 'C4'...",
          "title": "Supply"
        },
        "subscribed_kVA": {
          "anyOf": [
            {
              "description": "Subscribed power (puissance souscrite)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscribed Kva"
        },
        "planned_kVA": {
          "anyOf": [
            {
              "description": "Planned / estimated power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Planned Kva"
        },
        "ik3_kA": {
          "anyOf": [
            {
              "description": "Maximum short-circuit current at the point of supply",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ik3 Ka"
        },
        "ik1_kA": {
          "anyOf": [
            {
              "description": "Minimum short-circuit current (Ik1)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ik1 Ka"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "du_max_pct": {
          "anyOf": [
            {
              "description": "Maximum permitted voltage drop",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Du Max Pct"
        },
        "earth_resistance_ohm": {
          "anyOf": [
            {
              "description": "Earth electrode resistance",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Earth Resistance Ohm"
        },
        "surface_m2": {
          "anyOf": [
            {
              "description": "Floor area of the dwelling / premises (rules on minimum number of circuits)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Surface M2"
        },
        "standard": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reference standard: 'NF C 15-100', 'IEC 60364', 'RGIE'...",
          "title": "Standard"
        },
        "premises": {
          "anyOf": [
            {
              "enum": [
                "dwelling",
                "commercial",
                "office",
                "industrial",
                "public",
                "agricultural",
                "other"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Kind of premises: dwelling rules (e.g. nfc15100.rcd-count) apply only to 'dwelling', or when this is not given",
          "title": "Premises"
        }
      },
      "title": "Installation",
      "type": "object"
    },
    "InstrumentTransformer": {
      "additionalProperties": false,
      "description": "Instrument transformer: CT, VT, toroid. In series in the tree or as an auxiliary device (``devices``).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "instrument_transformer",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "ct",
                "vt",
                "toroid",
                "combined"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        },
        "ratio": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'600/5 A', '20000/100 V'",
          "title": "Ratio"
        },
        "accuracy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Accuracy class: '0.5', '5P10', 'C100'",
          "title": "Accuracy"
        },
        "burden_VA": {
          "anyOf": [
            {
              "description": "in VA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Burden Va"
        }
      },
      "required": [
        "type"
      ],
      "title": "InstrumentTransformer",
      "type": "object"
    },
    "InsulationMonitor": {
      "additionalProperties": false,
      "description": "Insulation monitoring device (IMD) of an IT system.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "insulation_monitor",
          "title": "Type",
          "type": "string"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Range"
        }
      },
      "required": [
        "type"
      ],
      "title": "InsulationMonitor",
      "type": "object"
    },
    "Interlock": {
      "additionalProperties": false,
      "description": "Interlock declaration: the nodes and links whose ``locks`` contain ``key`` form one interlock.\n\nTrapped-key principle: with ``keys`` keys, at most ``keys`` members may be closed at the same time\n(1 = mutually exclusive positions: removable links, changeover jumpers, either/or supplies;\n2 = \"2 of 3\" transformer / bus-tie scheme...). A key used in ``locks`` without a declaration has one key.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "key": {
          "description": "Key identifier, as used in the 'locks' of nodes and links",
          "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
          "title": "Key",
          "type": "string"
        },
        "keys": {
          "default": 1,
          "description": "Number of keys: maximum number of members closed at the same time",
          "minimum": 1,
          "title": "Keys",
          "type": "integer"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "trapped_key",
                "mechanical",
                "removable_link",
                "electrical"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How the interlock is achieved",
          "title": "Kind"
        }
      },
      "required": [
        "key"
      ],
      "title": "Interlock",
      "type": "object"
    },
    "Inverter": {
      "additionalProperties": false,
      "description": "PV inverter / micro-inverter / hybrid inverter / charger.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "inverter",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "string",
                "central",
                "micro",
                "hybrid",
                "battery",
                "charger"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        },
        "p_kVA": {
          "anyOf": [
            {
              "description": "Apparent power per unit",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kva"
        },
        "mppt": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mppt"
        },
        "protection": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Built-in interface (decoupling) protection (DIN VDE 0126, RI...)",
          "title": "Protection"
        }
      },
      "required": [
        "type"
      ],
      "title": "Inverter",
      "type": "object"
    },
    "JunctionBox": {
      "additionalProperties": false,
      "description": "Junction / tap / pull box, cable joint, manhole.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "junction_box",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "junction",
                "pull",
                "tap",
                "manhole",
                "vault",
                "service_end"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        }
      },
      "required": [
        "type"
      ],
      "title": "JunctionBox",
      "type": "object"
    },
    "Lighting": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "lighting",
          "title": "Type",
          "type": "string"
        },
        "points": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of lighting points",
          "title": "Points"
        }
      },
      "required": [
        "type"
      ],
      "title": "Lighting",
      "type": "object"
    },
    "Link": {
      "additionalProperties": false,
      "description": "Link outside the tree.\n\n* ``transfer``: 2nd source arriving on a transfer switch (``to`` = transfer_switch);\n* ``tie``: coupling between two busbars (``device`` = bus-tie device);\n* ``bypass`` / ``parallel``: additional power connection;\n* ``control`` / ``interlock`` / ``trip`` / ``measure``: control, interlocking, tripping and\n  metering links (drawn dashed);\n* ``infeed`` (additional supply to a node: 2nd incomer, MV (HTA) ring, back-feed),\n  ``earth`` (protective conductor / equipotential bonding), ``data`` (communication bus,\n  TIC teleinfo, Modbus), ``key`` (key-lock interlocking, ``key`` = key identifier).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "kind": {
          "enum": [
            "transfer",
            "tie",
            "bypass",
            "parallel",
            "infeed",
            "earth",
            "control",
            "interlock",
            "trip",
            "measure",
            "data",
            "key"
          ],
          "title": "Kind",
          "type": "string"
        },
        "from": {
          "description": "id of the start node",
          "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
          "title": "From",
          "type": "string"
        },
        "to": {
          "description": "id of the end node",
          "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
          "title": "To",
          "type": "string"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "device": {
          "anyOf": [
            {
              "$ref": "#/$defs/Node"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Device inserted on the link (bus coupler)"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run carried by the link"
        },
        "normally_open": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Link open in normal operation (normally-open point)",
          "title": "Normally Open"
        },
        "locks": {
          "description": "Interlock keys engaged by the link (and its device): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Key identifier for kind='key'",
          "title": "Key"
        },
        "from_port": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Start terminal / channel: PLC 'slot.channel' ('3.1')",
          "title": "From Port"
        },
        "to_port": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "End terminal / channel",
          "title": "To Port"
        },
        "protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Protocol of a 'data' link: 'Modbus TCP', 'PROFINET'...",
          "title": "Protocol"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "future",
                "removed",
                "temporary"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        }
      },
      "required": [
        "kind",
        "from",
        "to"
      ],
      "title": "Link",
      "type": "object"
    },
    "Load": {
      "additionalProperties": false,
      "description": "Generic load.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "load",
          "title": "Type",
          "type": "string"
        },
        "symbol_text": {
          "anyOf": [
            {
              "maxLength": 6,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Symbol Text"
        }
      },
      "required": [
        "type"
      ],
      "title": "Load",
      "type": "object"
    },
    "MainBreaker": {
      "additionalProperties": false,
      "description": "Service main breaker (incoming device of a dwelling, e.g. the French AGCP).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "main_breaker",
          "title": "Type",
          "type": "string"
        },
        "range_A": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Setting range: '15-45', '30-60'",
          "title": "Range A"
        },
        "idn_mA": {
          "anyOf": [
            {
              "description": "in mA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Idn Ma"
        },
        "idn_range_mA": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "IΔn setting range, in mA",
          "title": "Idn Range Ma"
        },
        "rcd_type": {
          "anyOf": [
            {
              "enum": [
                "AC",
                "A",
                "F",
                "B",
                "A-SI",
                "Hpi",
                "G"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rcd Type"
        },
        "selective": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Selective residual-current device (type S)",
          "title": "Selective"
        },
        "subscribed_kVA": {
          "anyOf": [
            {
              "description": "Associated subscribed / setting power (e.g. 9 kVA)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscribed Kva"
        }
      },
      "required": [
        "type"
      ],
      "title": "MainBreaker",
      "type": "object"
    },
    "Meta": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "project": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Project name or job number",
          "title": "Project"
        },
        "client": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Client"
        },
        "site": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Site"
        },
        "company": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company"
        },
        "author": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Author"
        },
        "checked_by": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Checked By"
        },
        "date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "ISO 8601 date",
          "title": "Date"
        },
        "revisions": {
          "items": {
            "$ref": "#/$defs/Revision"
          },
          "title": "Revisions",
          "type": "array"
        },
        "lang": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": "en",
          "description": "Language of labels and rendered texts (BCP 47)",
          "title": "Lang"
        },
        "drawing_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Drawing number / sheet number within the drawing set",
          "title": "Drawing Number"
        },
        "scale": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Scale"
        },
        "contributors": {
          "description": "Contributors (design office, installer...)",
          "items": {
            "type": "string"
          },
          "title": "Contributors",
          "type": "array"
        },
        "notes": {
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        }
      },
      "title": "Meta",
      "type": "object"
    },
    "Meter": {
      "additionalProperties": false,
      "description": "Meter / metering (compteur).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "meter",
          "title": "Type",
          "type": "string"
        },
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'Linky', 'electronic', 'CT', 'sub-metering'...",
          "title": "Kind"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "bidirectional": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bidirectional"
        }
      },
      "required": [
        "type"
      ],
      "title": "Meter",
      "type": "object"
    },
    "Motor": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "motor",
          "title": "Type",
          "type": "string"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "rpm": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rpm"
        },
        "phases": {
          "anyOf": [
            {
              "enum": [
                1,
                3
              ],
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Phases"
        }
      },
      "required": [
        "type"
      ],
      "title": "Motor",
      "type": "object"
    },
    "MotorStarter": {
      "additionalProperties": false,
      "description": "Integrated motor starter (motor circuit breaker, starter, variable-speed drive).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "in kW",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "motor_starter",
          "title": "Type",
          "type": "string"
        },
        "method": {
          "anyOf": [
            {
              "enum": [
                "dol",
                "reversing",
                "star_delta",
                "soft_starter",
                "vfd"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        }
      },
      "required": [
        "type"
      ],
      "title": "MotorStarter",
      "type": "object"
    },
    "NeutralImpedance": {
      "additionalProperties": false,
      "description": "Neutral earthing impedance (impedance-earthed IT, neutral-point coil).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "neutral_impedance",
          "title": "Type",
          "type": "string"
        },
        "impedance_ohm": {
          "anyOf": [
            {
              "description": "in Ohm",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Impedance Ohm"
        }
      },
      "required": [
        "type"
      ],
      "title": "NeutralImpedance",
      "type": "object"
    },
    "Node": {
      "type": "object",
      "description": "Node of the power tree; 'type' selects the applicable definition.",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "enum": [
            "appliance",
            "battery",
            "board",
            "breaker",
            "busbar",
            "connector",
            "contactor",
            "controller",
            "cooking",
            "dc_converter",
            "disconnector",
            "earth",
            "earth_bar",
            "earthing_switch",
            "ev_charger",
            "fuse",
            "fuse_switch",
            "generator",
            "grid",
            "heating",
            "impulse_relay",
            "instrument_transformer",
            "insulation_monitor",
            "inverter",
            "junction_box",
            "lighting",
            "load",
            "main_breaker",
            "meter",
            "motor",
            "motor_starter",
            "neutral_impedance",
            "offpage",
            "plc",
            "power_supply",
            "protection_relay",
            "pv_array",
            "rcbo",
            "rcd",
            "shutter",
            "socket",
            "spare",
            "spd",
            "surge_limiter",
            "switch_disconnector",
            "terminal_block",
            "thermal_relay",
            "transfer_switch",
            "transformer",
            "ups",
            "ventilation",
            "voltage_indicator",
            "water_heater"
          ]
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "type": {
                "const": "appliance"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Appliance"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "battery"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Battery"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "board"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Board"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "breaker"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Breaker"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "busbar"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Busbar"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "connector"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Connector"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "contactor"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Contactor"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "controller"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Controller"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "cooking"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Cooking"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "dc_converter"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/DCConverter"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "disconnector"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Disconnector"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "earth"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Earth"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "earth_bar"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/EarthBar"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "earthing_switch"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/EarthingSwitch"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ev_charger"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/EVCharger"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "fuse"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Fuse"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "fuse_switch"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/FuseSwitch"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "generator"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Generator"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "grid"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Grid"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "heating"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Heating"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "impulse_relay"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/ImpulseRelay"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "instrument_transformer"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/InstrumentTransformer"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "insulation_monitor"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/InsulationMonitor"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "inverter"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Inverter"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "junction_box"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/JunctionBox"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "lighting"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Lighting"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "load"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Load"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "main_breaker"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/MainBreaker"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "meter"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Meter"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "motor"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Motor"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "motor_starter"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/MotorStarter"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "neutral_impedance"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/NeutralImpedance"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "offpage"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/OffPage"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "plc"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/PLC"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "power_supply"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/PowerSupply"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "protection_relay"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/ProtectionRelay"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "pv_array"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/PVArray"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "rcbo"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/RCBO"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "rcd"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/RCD"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "shutter"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Shutter"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "socket"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Socket"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "spare"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Spare"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "spd"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/SPD"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "surge_limiter"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/SurgeLimiter"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "switch_disconnector"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/SwitchDisconnector"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "terminal_block"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/TerminalBlock"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "thermal_relay"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/ThermalRelay"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "transfer_switch"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/TransferSwitch"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "transformer"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Transformer"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ups"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/UPS"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ventilation"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/Ventilation"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "voltage_indicator"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/VoltageIndicator"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "water_heater"
              }
            }
          },
          "then": {
            "$ref": "#/$defs/WaterHeater"
          }
        }
      ]
    },
    "OffPage": {
      "additionalProperties": false,
      "description": "Off-page reference to / from another sheet or document (drawn as a cross-reference arrow).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "offpage",
          "title": "Type",
          "type": "string"
        },
        "target": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Destination: 'sheet 2', 'DB Hall', 'doc. ELEC-04'...",
          "title": "Target"
        }
      },
      "required": [
        "type"
      ],
      "title": "OffPage",
      "type": "object"
    },
    "Override": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "label_offset": {
          "anyOf": [
            {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Annotation offset (mm)",
          "title": "Label Offset"
        },
        "hide": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hide"
        }
      },
      "title": "Override",
      "type": "object"
    },
    "PLC": {
      "additionalProperties": false,
      "description": "Modular programmable logic controller (WAGO 750/PFC, Siemens S7-1200/ET 200SP/LOGO!, Schneider M241/TM3...).\nModules are ordered sub-components; channels are addressed through link ports\n(``from_port`` / ``to_port`` = 'slot.channel', e.g. '3.1').",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "plc",
          "title": "Type",
          "type": "string"
        },
        "role": {
          "anyOf": [
            {
              "enum": [
                "controller",
                "coupler",
                "expansion",
                "hmi"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'coupler' = remote I/O head on a fieldbus",
          "title": "Role"
        },
        "family": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'PFC200', 'S7-1200', 'LOGO! 8', 'M241'",
          "title": "Family"
        },
        "protocols": {
          "description": "'Modbus TCP', 'PROFINET', 'EtherNet/IP', 'KNX'...",
          "items": {
            "type": "string"
          },
          "title": "Protocols",
          "type": "array"
        },
        "onboard": {
          "description": "I/O built into the head unit (slot 0)",
          "items": {
            "$ref": "#/$defs/PLCModule"
          },
          "title": "Onboard",
          "type": "array"
        },
        "modules": {
          "description": "Expansion modules, in slot order",
          "items": {
            "$ref": "#/$defs/PLCModule"
          },
          "title": "Modules",
          "type": "array"
        },
        "ip_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ip Address"
        }
      },
      "required": [
        "type"
      ],
      "title": "PLC",
      "type": "object"
    },
    "PLCModule": {
      "additionalProperties": false,
      "description": "PLC module, in mounting order on the rail / local bus.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "slot": {
          "description": "Position on the local bus (1 = first module after the head unit)",
          "minimum": 0,
          "title": "Slot",
          "type": "integer"
        },
        "kind": {
          "enum": [
            "cpu",
            "coupler",
            "power_feed",
            "power_supply",
            "di",
            "do",
            "ai",
            "ao",
            "relay_out",
            "mixed_io",
            "counter",
            "temperature",
            "power_measurement",
            "comm",
            "safety",
            "motor",
            "end",
            "other"
          ],
          "title": "Kind",
          "type": "string"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "channels": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of channels",
          "title": "Channels"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Channel voltage (24 V DC, 230 V AC)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "rating_A": {
          "anyOf": [
            {
              "description": "Permissible current per channel (outputs)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rating A"
        },
        "signal": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Signal: '0-10 V', '4-20 mA', 'PT100', 'digital' (TOR)...",
          "title": "Signal"
        },
        "protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "For a communication module: 'RS485', 'KNX', 'DALI', 'M-Bus'",
          "title": "Protocol"
        },
        "channel_labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Label per channel: {'1': 'Pump 1'}",
          "title": "Channel Labels",
          "type": "object"
        }
      },
      "required": [
        "slot",
        "kind"
      ],
      "title": "PLCModule",
      "type": "object"
    },
    "PVArray": {
      "additionalProperties": false,
      "description": "Photovoltaic array (champ photovoltaïque).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Total peak power (kWp)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "pv_array",
          "title": "Type",
          "type": "string"
        },
        "modules": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Modules"
        },
        "module_W": {
          "anyOf": [
            {
              "description": "Peak power of one module (Wp)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Module W"
        },
        "strings": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Strings"
        },
        "voc_V": {
          "anyOf": [
            {
              "description": "in V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Voc V"
        },
        "isc_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Isc A"
        }
      },
      "required": [
        "type"
      ],
      "title": "PVArray",
      "type": "object"
    },
    "PowerSupply": {
      "additionalProperties": false,
      "description": "Power supply (switch-mode AC/DC, control transformer): 230 V AC -> 24 V DC.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "power_supply",
          "title": "Type",
          "type": "string"
        },
        "u1_V": {
          "anyOf": [
            {
              "description": "Input voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "U1 V"
        },
        "u2_V": {
          "anyOf": [
            {
              "description": "Output voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "U2 V"
        },
        "output": {
          "anyOf": [
            {
              "enum": [
                "DC",
                "AC"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": "DC",
          "title": "Output"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated output current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "p_W": {
          "anyOf": [
            {
              "description": "Rated power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P W"
        },
        "redundant": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Redundant"
        }
      },
      "required": [
        "type"
      ],
      "title": "PowerSupply",
      "type": "object"
    },
    "Product": {
      "additionalProperties": false,
      "description": "Product reference: identifies the commercial product actually installed or specified.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Manufacturer: 'Schneider Electric', 'WAGO', 'Siemens'...",
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Catalog part number: 'A9F04616', '750-8212', '6ED1052-1FB08-0BA1'",
          "title": "Part Number"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range: 'Acti9 iC60N', 'PFC200', 'LOGO! 8'",
          "title": "Range"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Commercial description",
          "title": "Description"
        },
        "ean": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "EAN / GTIN code",
          "title": "Ean"
        },
        "quantity": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Quantity, if different from 'count' (e.g. accessories)",
          "title": "Quantity"
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product datasheet / documentation",
          "title": "Url"
        },
        "accessories": {
          "description": "Fitted accessories (Vigi add-on block, MX shunt trip, OF auxiliary contact...)",
          "items": {
            "$ref": "#/$defs/Product"
          },
          "title": "Accessories",
          "type": "array"
        }
      },
      "title": "Product",
      "type": "object"
    },
    "ProtectionRelay": {
      "additionalProperties": false,
      "description": "Protection relay (ANSI 50/51, 27/59, Vigirex residual-current relay, RI interface protection...).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "protection_relay",
          "title": "Type",
          "type": "string"
        },
        "functions": {
          "description": "Functions: '50/51', '51N', 'I>', 'RI'...",
          "items": {
            "type": "string"
          },
          "title": "Functions",
          "type": "array"
        },
        "settings": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Printed settings: 'I> 0,6 s ; I>> 0,1 s'",
          "title": "Settings"
        },
        "idn_mA": {
          "anyOf": [
            {
              "description": "Residual-current threshold (Vigirex relay)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Idn Ma"
        }
      },
      "required": [
        "type"
      ],
      "title": "ProtectionRelay",
      "type": "object"
    },
    "RCBO": {
      "additionalProperties": false,
      "description": "RCBO: overcurrent + residual-current protection.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "rcbo",
          "title": "Type",
          "type": "string"
        },
        "curve": {
          "anyOf": [
            {
              "enum": [
                "B",
                "C",
                "D",
                "K",
                "Z",
                "MA"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Curve"
        },
        "idn_mA": {
          "anyOf": [
            {
              "description": "in mA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Idn Ma"
        },
        "idn_range_mA": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "IΔn setting range, in mA: '30-3000'",
          "title": "Idn Range Ma"
        },
        "rcd_type": {
          "anyOf": [
            {
              "enum": [
                "AC",
                "A",
                "F",
                "B",
                "A-SI",
                "Hpi",
                "G"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rcd Type"
        },
        "delay": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Delay"
        },
        "rcd_in_A": {
          "anyOf": [
            {
              "description": "Rating of the associated residual-current add-on block (Vigi), if different",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rcd In A"
        }
      },
      "required": [
        "type"
      ],
      "title": "RCBO",
      "type": "object"
    },
    "RCD": {
      "additionalProperties": false,
      "description": "Residual-current device or standalone residual-current unit.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "rcd",
          "title": "Type",
          "type": "string"
        },
        "idn_mA": {
          "anyOf": [
            {
              "description": "Sensitivity IΔn",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Idn Ma"
        },
        "idn_range_mA": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "IΔn setting range, in mA: '30-3000'",
          "title": "Idn Range Ma"
        },
        "rcd_type": {
          "anyOf": [
            {
              "enum": [
                "AC",
                "A",
                "F",
                "B",
                "A-SI",
                "Hpi",
                "G"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rcd Type"
        },
        "delay": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'S' (selective), 'inst', 'retardable' (adjustable delay), or delay in ms",
          "title": "Delay"
        }
      },
      "required": [
        "type"
      ],
      "title": "RCD",
      "type": "object"
    },
    "Revision": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "index": {
          "title": "Index",
          "type": "string"
        },
        "date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Date"
        },
        "author": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Author"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        }
      },
      "required": [
        "index"
      ],
      "title": "Revision",
      "type": "object"
    },
    "SPD": {
      "additionalProperties": false,
      "description": "Surge protective device (parafoudre).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "spd",
          "title": "Type",
          "type": "string"
        },
        "spd_type": {
          "anyOf": [
            {
              "enum": [
                "1",
                "2",
                "1+2",
                "3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spd Type"
        },
        "imax_kA": {
          "anyOf": [
            {
              "description": "in kA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Imax Ka"
        },
        "in_kA": {
          "anyOf": [
            {
              "description": "in kA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In Ka"
        },
        "up_kV": {
          "anyOf": [
            {
              "description": "in kV",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Up Kv"
        },
        "uc_V": {
          "anyOf": [
            {
              "description": "Maximum continuous operating voltage Uc",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uc V"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "dc": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Dc"
        }
      },
      "required": [
        "type"
      ],
      "title": "SPD",
      "type": "object"
    },
    "Shutter": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "shutter",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "title": "Shutter",
      "type": "object"
    },
    "Socket": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "socket",
          "title": "Type",
          "type": "string"
        },
        "points": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of socket outlets",
          "title": "Points"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "2P",
                "2P+T",
                "3P",
                "3P+T",
                "3P+N",
                "3P+N+T"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Socket polarity (T = earth contact)",
          "title": "Poles"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Socket rated current (16 A, 32 A)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "socket_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'2P+E 16 A', '3P+N+E 32 A', 'dedicated'...",
          "title": "Socket Type"
        }
      },
      "required": [
        "type"
      ],
      "title": "Socket",
      "type": "object"
    },
    "Spare": {
      "additionalProperties": false,
      "description": "Spare / free way (possibly pre-equipped: rating, poles).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "spare",
          "title": "Type",
          "type": "string"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        }
      },
      "required": [
        "type"
      ],
      "title": "Spare",
      "type": "object"
    },
    "SurgeLimiter": {
      "additionalProperties": false,
      "description": "Surge limiter (Cardew) between neutral (or phase) and earth in IT systems.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "surge_limiter",
          "title": "Type",
          "type": "string"
        },
        "un_rating_V": {
          "anyOf": [
            {
              "description": "in V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un Rating V"
        }
      },
      "required": [
        "type"
      ],
      "title": "SurgeLimiter",
      "type": "object"
    },
    "SwitchDisconnector": {
      "additionalProperties": false,
      "description": "Switch-disconnector.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "switch_disconnector",
          "title": "Type",
          "type": "string"
        },
        "dc": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Device for direct current",
          "title": "Dc"
        }
      },
      "required": [
        "type"
      ],
      "title": "SwitchDisconnector",
      "type": "object"
    },
    "TerminalBlock": {
      "additionalProperties": false,
      "description": "Terminal block / distribution block / connection point.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "terminal_block",
          "title": "Type",
          "type": "string"
        },
        "terminals": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Terminal numbers: 'X1.1-X1.12'",
          "title": "Terminals"
        }
      },
      "required": [
        "type"
      ],
      "title": "TerminalBlock",
      "type": "object"
    },
    "ThermalRelay": {
      "additionalProperties": false,
      "description": "Thermal overload relay for motor protection (relais thermique).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "thermal_relay",
          "title": "Type",
          "type": "string"
        },
        "range_A": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Setting range: '4-6'",
          "title": "Range A"
        },
        "setting_A": {
          "anyOf": [
            {
              "description": "in A",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Setting A"
        }
      },
      "required": [
        "type"
      ],
      "title": "ThermalRelay",
      "type": "object"
    },
    "TransferSwitch": {
      "additionalProperties": false,
      "description": "Transfer switch (normal / standby source). The 2nd source arrives through a 'transfer' link.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "in_A": {
          "anyOf": [
            {
              "description": "Rated current",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In A"
        },
        "poles": {
          "anyOf": [
            {
              "enum": [
                "1P",
                "1P+N",
                "2P",
                "3P",
                "3P+N",
                "4P"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Poles"
        },
        "frame_A": {
          "anyOf": [
            {
              "description": "Frame rating / AF (e.g. 250 for a DPX 250, 225AF)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Frame A"
        },
        "range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Product range / commercial reference: 'DNX3', 'iC60N', 'NSX250F'...",
          "title": "Range"
        },
        "ue_V": {
          "anyOf": [
            {
              "description": "Rated operational voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ue V"
        },
        "icn_kA": {
          "anyOf": [
            {
              "description": "Rated short-circuit capacity (Icn, IEC 60898)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icn Ka"
        },
        "icu_kA": {
          "anyOf": [
            {
              "description": "Ultimate breaking capacity (Icu, IEC 60947-2) / kAIC",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icu Ka"
        },
        "icw_kA": {
          "anyOf": [
            {
              "description": "Rated short-time withstand current (Icw)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icw Ka"
        },
        "aux": {
          "description": "Auxiliaries: 'MX', 'MN', 'OF', 'SD', 'IOF', 'pilot wire'...",
          "items": {
            "type": "string"
          },
          "title": "Aux",
          "type": "array"
        },
        "mounting": {
          "anyOf": [
            {
              "enum": [
                "fixed",
                "plug_in",
                "withdrawable"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mounting"
        },
        "lockable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Padlockable / lockout-capable",
          "title": "Lockable"
        },
        "type": {
          "const": "transfer_switch",
          "title": "Type",
          "type": "string"
        },
        "mode": {
          "anyOf": [
            {
              "enum": [
                "manual",
                "automatic"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mode"
        },
        "technology": {
          "anyOf": [
            {
              "enum": [
                "electromechanical",
                "static"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "'static' = STS",
          "title": "Technology"
        },
        "interlock": {
          "anyOf": [
            {
              "enum": [
                "mechanical",
                "electrical",
                "both"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Interlock"
        }
      },
      "required": [
        "type"
      ],
      "title": "TransferSwitch",
      "type": "object"
    },
    "Transformer": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "transformer",
          "title": "Type",
          "type": "string"
        },
        "sn_kVA": {
          "anyOf": [
            {
              "description": "Rated power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sn Kva"
        },
        "u1_V": {
          "anyOf": [
            {
              "description": "Primary voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "U1 V"
        },
        "u2_V": {
          "anyOf": [
            {
              "description": "No-load secondary voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "U2 V"
        },
        "ucc_pct": {
          "anyOf": [
            {
              "description": "Short-circuit (impedance) voltage",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ucc Pct"
        },
        "coupling": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Vector group: 'Dyn11', 'Yzn11'...",
          "title": "Coupling"
        },
        "insulation": {
          "anyOf": [
            {
              "enum": [
                "oil",
                "dry"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Insulation"
        },
        "kind": {
          "anyOf": [
            {
              "enum": [
                "power",
                "auto",
                "earthing",
                "isolation",
                "bank"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kind"
        },
        "u1_alt_V": {
          "anyOf": [
            {
              "description": "Second primary voltage (dual-voltage 15/20 kV)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "U1 Alt V"
        }
      },
      "required": [
        "type"
      ],
      "title": "Transformer",
      "type": "object"
    },
    "UPS": {
      "additionalProperties": false,
      "description": "Uninterruptible power supply (UPS, ASI / onduleur).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "ups",
          "title": "Type",
          "type": "string"
        },
        "sn_kVA": {
          "anyOf": [
            {
              "description": "in kVA",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sn Kva"
        },
        "autonomy_min": {
          "anyOf": [
            {
              "description": "in min",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Autonomy Min"
        },
        "bypass": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Static / maintenance bypass present",
          "title": "Bypass"
        }
      },
      "required": [
        "type"
      ],
      "title": "UPS",
      "type": "object"
    },
    "Ventilation": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "ventilation",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "title": "Ventilation",
      "type": "object"
    },
    "View": {
      "additionalProperties": false,
      "description": "Rendering preferences. A document is complete without any view: layout is automatic.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "default": "sld",
          "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
          "title": "Id",
          "type": "string"
        },
        "kind": {
          "default": "single-line",
          "description": "'single-line' diagram, or 'multi-line' power diagram (one line per conductor, derived from the same tree: phase, poles, cable cores, system and earthing)",
          "enum": [
            "single-line",
            "multi-line"
          ],
          "title": "Kind",
          "type": "string"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "root": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Only draw the subtree of this node",
          "title": "Root"
        },
        "paper": {
          "default": "A3",
          "enum": [
            "A4",
            "A3",
            "A2",
            "A1",
            "A0"
          ],
          "title": "Paper",
          "type": "string"
        },
        "orientation": {
          "default": "landscape",
          "enum": [
            "landscape",
            "portrait"
          ],
          "title": "Orientation",
          "type": "string"
        },
        "direction": {
          "default": "down",
          "description": "Direction of power flow on the source drawing (the reference renderer draws 'down')",
          "enum": [
            "down",
            "up",
            "right",
            "left"
          ],
          "title": "Direction",
          "type": "string"
        },
        "pitch_mm": {
          "default": 20.0,
          "description": "Width of an outgoing-circuit (feeder) column",
          "maximum": 40,
          "minimum": 10,
          "title": "Pitch Mm",
          "type": "number"
        },
        "cartouche": {
          "description": "Rows of the feeder table, in order",
          "items": {
            "enum": [
              "label",
              "ref",
              "protection",
              "in_A",
              "curve",
              "icn_kA",
              "idn_mA",
              "rcd_type",
              "poles",
              "cable",
              "section_mm2",
              "length_m",
              "p_kW",
              "phase",
              "room",
              "points",
              "circuit",
              "ib_A",
              "cos_phi",
              "cable_type",
              "cable_ref",
              "install",
              "frame_A",
              "count",
              "un_V"
            ],
            "type": "string"
          },
          "title": "Cartouche",
          "type": "array"
        },
        "folio_split": {
          "default": "auto",
          "enum": [
            "auto",
            "none"
          ],
          "title": "Folio Split",
          "type": "string"
        },
        "min_scale": {
          "default": 0.7,
          "description": "Maximum scale reduction before splitting into several sheets",
          "exclusiveMinimum": 0,
          "maximum": 1,
          "title": "Min Scale",
          "type": "number"
        },
        "annotations": {
          "default": true,
          "description": "Show tag + ratings next to the symbols",
          "title": "Annotations",
          "type": "boolean"
        },
        "tag_field": {
          "default": "ref",
          "description": "Identifier shown at the top of the annotation",
          "enum": [
            "ref",
            "part_number"
          ],
          "title": "Tag Field",
          "type": "string"
        },
        "conductor_marks": {
          "default": true,
          "description": "Draw conductor-count marks (IEC 60617 oblique strokes; 4P vs 3P+N distinguished) on incomers and wherever a device changes the conductors, plus feeder ends; false = no marks",
          "title": "Conductor Marks",
          "type": "boolean"
        },
        "frames": {
          "description": "Additional enclosure frames",
          "items": {
            "$ref": "#/$defs/Frame"
          },
          "title": "Frames",
          "type": "array"
        },
        "title_block": {
          "default": true,
          "description": "Draw the sheet border and title block",
          "title": "Title Block",
          "type": "boolean"
        },
        "first_folio": {
          "default": 1,
          "description": "Number of the first sheet (partial sheet set)",
          "minimum": 1,
          "title": "First Folio",
          "type": "integer"
        },
        "total_folios": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Total number of sheets in the drawing set",
          "title": "Total Folios"
        },
        "show_pe": {
          "default": true,
          "description": "Multi-line view: draw the protective conductor (PE)",
          "title": "Show Pe",
          "type": "boolean"
        },
        "color": {
          "anyOf": [
            {
              "enum": [
                "none",
                "conductors",
                "phase",
                "source",
                "status",
                "voltage"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Colour mode (1.3; omitted = 'none', black drawing): 'conductors' = conductor colours (multi-line: each conductor; single-line: single-phase feeders in their phase colour), 'phase' = single-phase feeders by phase, 'source' = what each source feeds in normal operation, 'status' = new / existing / future / removed / temporary, 'voltage' = MV / LV / ELV / DC. A legend is drawn on each sheet; texts stay black",
          "title": "Color"
        },
        "palette": {
          "anyOf": [
            {
              "additionalProperties": {
                "pattern": "^#[0-9A-Fa-f]{6}$",
                "type": "string"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Colour overrides, by key of the colour mode: 'L1'...'PE' (conductors, phase), source id (source), status value (status), 'mv' / 'lv' / 'elv' / 'dc' (voltage); values '#rrggbb'",
          "title": "Palette"
        },
        "conductor_colors": {
          "anyOf": [
            {
              "enum": [
                "iec",
                "us"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Conductor colour preset of the 'conductors' mode: 'iec' (IEC 60445: brown / black / grey, blue N, green-yellow PE) or 'us' (black / red / blue, brown / orange / yellow from 480 V, white N, green ground); omitted = 'us' when the installation standard is the NEC / CEC, else 'iec'",
          "title": "Conductor Colors"
        },
        "wire_marking": {
          "anyOf": [
            {
              "$ref": "#/$defs/WireMarking"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Wire marking rules: marks of the conductors of the cables, drawn in the multi-line view and exported by 'uniwire wires' / 'uniwire markers'"
        },
        "wire_marks": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Show the wire marks on the multi-line drawing (default: true when 'wire_marking' is set)",
          "title": "Wire Marks"
        },
        "overrides": {
          "additionalProperties": {
            "$ref": "#/$defs/Override"
          },
          "title": "Overrides",
          "type": "object"
        }
      },
      "title": "View",
      "type": "object"
    },
    "VoltageIndicator": {
      "additionalProperties": false,
      "description": "Voltage presence indicator (VPIS / capacitive dividers).",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "type": {
          "const": "voltage_indicator",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "title": "VoltageIndicator",
      "type": "object"
    },
    "WaterHeater": {
      "additionalProperties": false,
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stable identifier, unique within the document (generated if missing)",
          "title": "Id"
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Displayed IEC 81346 reference designation: '-Q3', 'KM1', 'TD1'...",
          "title": "Ref"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description (function, room): 'Living room sockets'",
          "title": "Label"
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of a 'templates' entry to inherit attributes from",
          "title": "Use"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "new",
                "existing",
                "spare",
                "future",
                "removed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "phase": {
          "anyOf": [
            {
              "enum": [
                "L1",
                "L2",
                "L3",
                "L1L2",
                "L2L3",
                "L1L3",
                "L1L2L3"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Connected phase(s) for a single-phase circuit on a three-phase network",
          "title": "Phase"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / location (IEC 81346 '+' aspect)",
          "title": "Location"
        },
        "manufacturer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Manufacturer"
        },
        "part_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Part Number"
        },
        "product": {
          "anyOf": [
            {
              "$ref": "#/$defs/Product"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Structured product reference; takes precedence over manufacturer / part_number"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "external": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Equipment outside the drawn scope (supplied by others, another trade package): drawn dashed",
          "title": "External"
        },
        "count": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of identical items represented by this node (\"x 20\")",
          "title": "Count"
        },
        "circuit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Circuit / feeder number or code (C1, 15B, A...), distinct from the reference designation",
          "title": "Circuit"
        },
        "un_V": {
          "anyOf": [
            {
              "description": "Operating voltage of the node (phase-to-phase)",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Un V"
        },
        "uln_V": {
          "anyOf": [
            {
              "description": "Phase-to-neutral voltage, e.g. 230 in 230/400 V",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uln V"
        },
        "ib_A": {
          "anyOf": [
            {
              "description": "Design current Ib",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ib A"
        },
        "p_kW": {
          "anyOf": [
            {
              "description": "Active power (installed or absorbed) of the node or feeder",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Kw"
        },
        "q_kvar": {
          "anyOf": [
            {
              "description": "Reactive power",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Q Kvar"
        },
        "cos_phi": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cos Phi"
        },
        "priority": {
          "anyOf": [
            {
              "enum": [
                "essential",
                "non_essential",
                "safety",
                "standby"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Service class (backed-up, safety, sheddable...)",
          "title": "Priority"
        },
        "normal_state": {
          "anyOf": [
            {
              "enum": [
                "open",
                "closed"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Normal state (ring open point, NO/NC)",
          "title": "Normal State"
        },
        "locks": {
          "description": "Interlock keys engaged by the node (key identifiers): see 'interlocks'",
          "items": {
            "type": "string"
          },
          "title": "Locks",
          "type": "array"
        },
        "notes": {
          "description": "References to sheet notes (note numbers)",
          "items": {
            "type": "string"
          },
          "title": "Notes",
          "type": "array"
        },
        "point_no": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence number of the point on the circuit (Belgian RGIE diagrams)",
          "title": "Point No"
        },
        "cable": {
          "anyOf": [
            {
              "$ref": "#/$defs/Cable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cable run between the parent and this node"
        },
        "children": {
          "items": {
            "$ref": "#/$defs/Node"
          },
          "title": "Children",
          "type": "array"
        },
        "p_max_kW": {
          "anyOf": [
            {
              "description": "Maximum power permitted on the circuit (e.g. 'max 4500 W')",
              "ge": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "P Max Kw"
        },
        "room": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Room / area served",
          "title": "Room"
        },
        "type": {
          "const": "water_heater",
          "title": "Type",
          "type": "string"
        },
        "volume_L": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Volume L"
        }
      },
      "required": [
        "type"
      ],
      "title": "WaterHeater",
      "type": "object"
    },
    "WireMarking": {
      "additionalProperties": false,
      "description": "Wire marking rules of a view (UEP-0001 §3.5.1). The current format marks the conductors of the cables of the\npower tree (``node.cable``); format 2.0 extends the same rules to ``wires[]``.",
      "properties": {
        "ext": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
          "title": "Ext"
        },
        "scheme": {
          "default": "manual",
          "description": "'manual': only the marks written in the document (cable 'marks'); 'potential': one number per potential (net), shared by its conductors; 'sequential': one number per conductor; 'pattern': marks built from 'pattern'",
          "enum": [
            "manual",
            "potential",
            "sequential",
            "pattern"
          ],
          "title": "Scheme",
          "type": "string"
        },
        "pattern": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Template of the 'pattern' scheme, e.g. '{circuit}-{conductor}'. Tokens: {circuit}, {conductor}, {ref} (tag of the 'from' device), {from}, {to} (tags of the two ends), {cable} (cable tag), {n} (sequence number); {from_port}, {to_port}, {potential}, {strip}, {terminal} are reserved for format 2.0 and empty in the current format",
          "title": "Pattern"
        },
        "start": {
          "default": 1,
          "description": "First generated number",
          "minimum": 0,
          "title": "Start",
          "type": "integer"
        },
        "step": {
          "default": 1,
          "description": "Increment of generated numbers",
          "minimum": 1,
          "title": "Step",
          "type": "integer"
        },
        "prefix": {
          "default": "",
          "description": "Text added before generated numbers",
          "title": "Prefix",
          "type": "string"
        },
        "suffix": {
          "default": "",
          "description": "Text added after generated numbers",
          "title": "Suffix",
          "type": "string"
        },
        "per": {
          "default": "document",
          "description": "Numbering restarts per 'document', 'sheet' or 'enclosure' (of the 'from' end)",
          "enum": [
            "document",
            "sheet",
            "enclosure"
          ],
          "title": "Per",
          "type": "string"
        },
        "power": {
          "default": "conductor",
          "description": "Power conductors in the 'potential' and 'sequential' schemes: 'conductor' marks them with their conductor (L1, N, PE), 'number' numbers them, 'none' leaves them unmarked",
          "enum": [
            "conductor",
            "number",
            "none"
          ],
          "title": "Power",
          "type": "string"
        },
        "keep_manual": {
          "default": true,
          "description": "Marks written in the document are kept; generated numbers skip the values they use",
          "title": "Keep Manual",
          "type": "boolean"
        },
        "order": {
          "default": "layout",
          "description": "Numbering order: 'layout' (sheet, then column, then top to bottom) or 'document' (order of the tree)",
          "enum": [
            "layout",
            "document"
          ],
          "title": "Order",
          "type": "string"
        }
      },
      "title": "WireMarking",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "ext": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Free-form extensions, namespaced by vendor prefix (e.g. {'acme': {...}}). Tools must preserve what they do not understand.",
      "title": "Ext"
    },
    "$schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": "https://uniwire.sh/schema/v1/uniwire.schema.json",
      "title": "$Schema"
    },
    "uniwire": {
      "default": "1.0.0",
      "description": "Format version (semver)",
      "pattern": "^1\\.\\d+\\.\\d+$",
      "title": "uniwire",
      "type": "string"
    },
    "profiles": {
      "description": "Rule profiles: 'nfc15100'...",
      "items": {
        "type": "string"
      },
      "title": "Profiles",
      "type": "array"
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    },
    "installation": {
      "$ref": "#/$defs/Installation"
    },
    "templates": {
      "additionalProperties": {
        "additionalProperties": true,
        "type": "object"
      },
      "description": "Reusable attribute templates, referenced by 'use' in nodes",
      "title": "Templates",
      "type": "object"
    },
    "sources": {
      "description": "Tree roots (power sources)",
      "items": {
        "$ref": "#/$defs/Node"
      },
      "minItems": 1,
      "title": "Sources",
      "type": "array"
    },
    "devices": {
      "description": "Auxiliary devices outside the power tree (relays, CTs, insulation monitors (CPI), voltage presence indicators (VPIS)...), connected by links",
      "items": {
        "$ref": "#/$defs/Node"
      },
      "title": "Devices",
      "type": "array"
    },
    "enclosures": {
      "description": "Addressable enclosures",
      "items": {
        "$ref": "#/$defs/Enclosure"
      },
      "title": "Enclosures",
      "type": "array"
    },
    "links": {
      "items": {
        "$ref": "#/$defs/Link"
      },
      "title": "Links",
      "type": "array"
    },
    "interlocks": {
      "description": "Interlock declarations: number of keys per 'locks' identifier",
      "items": {
        "$ref": "#/$defs/Interlock"
      },
      "title": "Interlocks",
      "type": "array"
    },
    "views": {
      "items": {
        "$ref": "#/$defs/View"
      },
      "title": "Views",
      "type": "array"
    }
  },
  "required": [
    "sources"
  ],
  "type": "object"
}
