Skip to main content
Glama

Crimp

analyze_system

Read-onlyIdempotent

Analyze an explicit current-schema System with Crimp's canonical sizing, diagnostics and energy engine. Read-only. Maximum 40 component nodes, 20 zones and 100 cables. Unknown fields, invalid references and other schema versions are rejected. Results preserve provisional currents, unknown fault protection and estimated inputs; no findings is not certification. No scenario sweep in v1.

Input Schema

NameRequiredDescriptionDefault
systemYes
autoSizeTargetPctNo

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
toolYes
errorNo
metadataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / system / properties / nodes / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "alwaysOnOverride": {
      -        "type": "boolean"
      -      },
      -      "batteryFuse": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "ratingA": {
      -            "maximum": 100000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "type": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH",
      -              "gPV"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "ratingA"
      -        ],
      -        "type": "object"
      -      },
      -      "customDefinition": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "acVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "aiAssumptions": {
      -            "items": {
      -              "maxLength": 500,
      -              "type": "string"
      -            },
      -            "maxItems": 40,
      -            "type": "array"
      -          },
      -          "aiEstimatedFields": {
      -            "items": {
      -              "maxLength": 120,
      -              "type": "string"
      -            },
      -            "maxItems": 60,
      -            "type": "array"
      -          },
      -          "alwaysOn": {
      -            "type": "boolean"
      -          },
      -          "ampDraw": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampOutput": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampSurge": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "bms": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "alternatorControl": {
      -                "items": {
      -                  "enum": [
      -                    "charge-relay",
      -                    "ignition-cut",
      -                    "field-cut",
      -                    "can-regulator",
      -                    "current-limit"
      -                  ],
      -                  "type": "string"
      -                },
      -                "maxItems": 5,
      -                "type": "array"
      -              },
      -              "busSeparation": {
      -                "enum": [
      -                  "single",
      -                  "dual"
      -                ],
      -                "type": "string"
      -              },
      -              "chemistrySupport": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "cellsMax": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "cellsMin": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "chemistry": {
      -                      "enum": [
      -                        "lifepo4",
      -                        "li-ion",
      -                        "nmc",
      -                        "lto"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "chemistry",
      -                    "cellsMin",
      -                    "cellsMax"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "compatibleBatteryIds": {
      -                "items": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "maxItems": 100,
      -                "type": "array"
      -              },
      -              "continuousChargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "continuousDischargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "controls": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "kind": {
      -                      "enum": [
      -                        "dry-contact",
      -                        "source",
      -                        "sink",
      -                        "opto"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "maxA": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "maxV": {
      -                      "maximum": 1000,
      -                      "minimum": 0.01,
      -                      "type": "number"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "charge-permit",
      -                        "discharge-permit",
      -                        "pre-alarm",
      -                        "alternator-field",
      -                        "heater",
      -                        "generic"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "kind"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "lowTempChargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "lowTempCutoffConfigurable": {
      -                "type": "boolean"
      -              },
      -              "lowTempDischargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "placement": {
      -                "enum": [
      -                  "internal",
      -                  "external"
      -                ],
      -                "type": "string"
      -              },
      -              "requiresExternalSwitchgear": {
      -                "type": "boolean"
      -              },
      -              "surge": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "amps": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "seconds": {
      -                      "anyOf": [
      -                        {
      -                          "maximum": 86400,
      -                          "minimum": 0.000001,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "amps",
      -                    "seconds"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "switching": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "signal",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "leg": {
      -                        "enum": [
      -                          "negative",
      -                          "positive"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "mode": {
      -                        "const": "fet",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode",
      -                      "leg"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "contactor",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "relay",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "unpublished": {
      -                "items": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxItems": 40,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "placement",
      -              "switching",
      -              "busSeparation"
      -            ],
      -            "type": "object"
      -          },
      -          "capacityAh": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "category": {
      -            "enum": [
      -              "battery",
      -              "charger",
      -              "solar",
      -              "source",
      -              "engine",
      -              "distribution",
      -              "load",
      -              "monitor"
      -            ],
      -            "type": "string"
      -          },
      -          "chargeAmpsTypical": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "chemistry": {
      -            "enum": [
      -              "lifepo4",
      -              "agm",
      -              "lead-acid",
      -              "gel"
      -            ],
      -            "type": "string"
      -          },
      -          "compatibleVoltages": {
      -            "items": {
      -              "maximum": 1000,
      -              "minimum": 0.01,
      -              "type": "number"
      -            },
      -            "maxItems": 20,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          "conversionEfficiency": {
      -            "maximum": 1,
      -            "minimum": 0.001,
      -            "type": "number"
      -          },
      -          "currentShunt": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "batteryTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "referenceTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "systemTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "batteryTerminalId",
      -              "systemTerminalId"
      -            ],
      -            "type": "object"
      -          },
      -          "dcBreaker": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "dcMaxVoltage": {
      -                "maximum": 1000,
      -                "minimum": 0.01,
      -                "type": "number"
      -              },
      -              "inputTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "interruptRatings": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "amperes": {
      -                      "maximum": 10000000,
      -                      "minimum": 0.01,
      -                      "type": "number"
      -                    },
      -                    "upToVoltage": {
      -                      "maximum": 1000,
      -                      "minimum": 0.01,
      -                      "type": "number"
      -                    }
      -                  },
      -                  "required": [
      -                    "upToVoltage",
      -                    "amperes"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "minItems": 1,
      -                "type": "array"
      -              },
      -              "outputTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "ratingA": {
      -                "maximum": 100000,
      -                "minimum": 0.01,
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "inputTerminalId",
      -              "outputTerminalId",
      -              "ratingA"
      -            ],
      -            "type": "object"
      -          },
      -          "description": {
      -            "maxLength": 2000,
      -            "type": "string"
      -          },
      -          "dutyHoursPerDay": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "equipmentLimitExemption": {
      -            "enum": [
      -              "fuse",
      -              "busbar"
      -            ],
      -            "type": "string"
      -          },
      -          "fuseBusGroups": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "input": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "outputs": {
      -                  "items": {
      -                    "maxLength": 100,
      -                    "minLength": 1,
      -                    "pattern": "^[A-Za-z0-9_.-]+$",
      -                    "type": "string"
      -                  },
      -                  "maxItems": 64,
      -                  "minItems": 1,
      -                  "type": "array"
      -                }
      -              },
      -              "required": [
      -                "input",
      -                "outputs"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 64,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          "fuseSlotType": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH",
      -              "gPV"
      -            ],
      -            "type": "string"
      -          },
      -          "height": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          },
      -          "hybridSourceOutputLimitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "id": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9_.-]+$",
      -            "type": "string"
      -          },
      -          "image": {
      -            "maxLength": 2048,
      -            "type": "string"
      -          },
      -          "inputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "interchangeableTerminalGroups": {
      -            "items": {
      -              "items": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "maxItems": 64,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "internalDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "isFuseBlock": {
      -            "type": "boolean"
      -          },
      -          "loadCurrentModel": {
      -            "enum": [
      -              "constant-current",
      -              "constant-power"
      -            ],
      -            "type": "string"
      -          },
      -          "manufacturer": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "maxChargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxDischargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxInputA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "model": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "name": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "oneWayDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "outputCurrentLimitsA": {
      -            "additionalProperties": {
      -              "maximum": 100000,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "propertyNames": {
      -              "maxLength": 100,
      -              "minLength": 1,
      -              "pattern": "^[A-Za-z0-9_.-]+$",
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "outputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "peakSunHoursDefault": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxSeriesFuseA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "pvVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "renderVariant": {
      -            "enum": [
      -              "card",
      -              "switch",
      -              "busbar",
      -              "junction",
      -              "chassis-ground",
      -              "fuse-holder"
      -            ],
      -            "type": "string"
      -          },
      -          "settings": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "default": {
      -                  "type": "boolean"
      -                },
      -                "help": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "semantics": {
      -                  "const": "disables-output",
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "toggle",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "type",
      -                "default"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 24,
      -            "type": "array"
      -          },
      -          "shortCircuitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "shortName": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "simulateStates": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "default": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "options": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "ampMultiplier": {
      -                      "maximum": 100,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "ampOverride": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "id": {
      -                      "maxLength": 100,
      -                      "minLength": 1,
      -                      "pattern": "^[A-Za-z0-9_.-]+$",
      -                      "type": "string"
      -                    },
      -                    "intraLinks": {
      -                      "items": {
      -                        "additionalItems": false,
      -                        "items": [
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          }
      -                        ],
      -                        "maxItems": 2,
      -                        "minItems": 2,
      -                        "type": "array"
      -                      },
      -                      "maxItems": 64,
      -                      "type": "array"
      -                    },
      -                    "label": {
      -                      "maxLength": 120,
      -                      "type": "string"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "draw",
      -                        "output"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "label"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "minItems": 1,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "default",
      -              "options"
      -            ],
      -            "type": "object"
      -          },
      -          "source": {
      -            "const": "ai",
      -            "type": "string"
      -          },
      -          "subtitle": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "terminals": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "color": {
      -                  "maxLength": 40,
      -                  "type": "string"
      -                },
      -                "direction": {
      -                  "enum": [
      -                    "input",
      -                    "output",
      -                    "bidi"
      -                  ],
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxAmp": {
      -                  "maximum": 100000,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "offset": {
      -                  "maximum": 1,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "polarity": {
      -                  "enum": [
      -                    "positive",
      -                    "negative",
      -                    "ground",
      -                    "signal",
      -                    "neutral"
      -                  ],
      -                  "type": "string"
      -                },
      -                "side": {
      -                  "enum": [
      -                    "left",
      -                    "right",
      -                    "top",
      -                    "bottom"
      -                  ],
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "polarity",
      -                "direction",
      -                "maxAmp",
      -                "side",
      -                "offset"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "voltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "watts": {
      -            "maximum": 10000000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "width": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "category",
      -          "terminals",
      -          "width",
      -          "height"
      -        ],
      -        "type": "object"
      -      },
      -      "definitionId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "dutyHoursPerDayOverride": {
      -        "maximum": 24,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "fuseAmp": {
      -        "anyOf": [
      -          {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isFusebox": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "component",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "notes": {
      -        "maxLength": 8000,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "partEstimated": {
      -        "type": "boolean"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "provisional": {
      -        "type": "boolean"
      -      },
      -      "rotation": {
      -        "anyOf": [
      -          {
      -            "const": 0,
      -            "type": "number"
      -          },
      -          {
      -            "const": 90,
      -            "type": "number"
      -          },
      -          {
      -            "const": 180,
      -            "type": "number"
      -          },
      -          {
      -            "const": 270,
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      "settings": {
      -        "additionalProperties": {
      -          "type": "boolean"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "studCount": {
      -        "maximum": 64,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "terminalOverrides": {
      -        "additionalProperties": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "offset": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "pinned": {
      -              "type": "boolean"
      -            },
      -            "side": {
      -              "enum": [
      -                "left",
      -                "right",
      -                "top",
      -                "bottom"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "definitionId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "color": {
      -        "maxLength": 40,
      -        "type": "string"
      -      },
      -      "height": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isEngineBay": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "zone",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "width": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "width",
      -      "height"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "alwaysOnOverride": {
      +        "type": "boolean"
      +      },
      +      "batteryFuse": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ratingA": {
      +            "maximum": 100000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "type": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH",
      +              "gPV"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "ratingA"
      +        ],
      +        "type": "object"
      +      },
      +      "customDefinition": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "acVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "aiAssumptions": {
      +            "items": {
      +              "maxLength": 500,
      +              "type": "string"
      +            },
      +            "maxItems": 40,
      +            "type": "array"
      +          },
      +          "aiEstimatedFields": {
      +            "items": {
      +              "maxLength": 120,
      +              "type": "string"
      +            },
      +            "maxItems": 60,
      +            "type": "array"
      +          },
      +          "alwaysOn": {
      +            "type": "boolean"
      +          },
      +          "ampDraw": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampOutput": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampSurge": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "bms": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "alternatorControl": {
      +                "items": {
      +                  "enum": [
      +                    "charge-relay",
      +                    "ignition-cut",
      +                    "field-cut",
      +                    "can-regulator",
      +                    "current-limit"
      +                  ],
      +                  "type": "string"
      +                },
      +                "maxItems": 5,
      +                "type": "array"
      +              },
      +              "busSeparation": {
      +                "enum": [
      +                  "single",
      +                  "dual"
      +                ],
      +                "type": "string"
      +              },
      +              "chemistrySupport": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "cellsMax": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "cellsMin": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "chemistry": {
      +                      "enum": [
      +                        "lifepo4",
      +                        "li-ion",
      +                        "nmc",
      +                        "lto"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "chemistry",
      +                    "cellsMin",
      +                    "cellsMax"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "compatibleBatteryIds": {
      +                "items": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "continuousChargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "continuousDischargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "controls": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "enum": [
      +                        "dry-contact",
      +                        "source",
      +                        "sink",
      +                        "opto"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "maxA": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "maxV": {
      +                      "maximum": 1000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "charge-permit",
      +                        "discharge-permit",
      +                        "pre-alarm",
      +                        "alternator-field",
      +                        "heater",
      +                        "generic"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "kind"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "lowTempChargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "lowTempCutoffConfigurable": {
      +                "type": "boolean"
      +              },
      +              "lowTempDischargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "placement": {
      +                "enum": [
      +                  "internal",
      +                  "external"
      +                ],
      +                "type": "string"
      +              },
      +              "requiresExternalSwitchgear": {
      +                "type": "boolean"
      +              },
      +              "surge": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amps": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "seconds": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 86400,
      +                          "minimum": 0.000001,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "amps",
      +                    "seconds"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "switching": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "signal",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "leg": {
      +                        "enum": [
      +                          "negative",
      +                          "positive"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "mode": {
      +                        "const": "fet",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode",
      +                      "leg"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "contactor",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "relay",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "unpublished": {
      +                "items": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxItems": 40,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "placement",
      +              "switching",
      +              "busSeparation"
      +            ],
      +            "type": "object"
      +          },
      +          "capacityAh": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "category": {
      +            "enum": [
      +              "battery",
      +              "charger",
      +              "solar",
      +              "source",
      +              "engine",
      +              "distribution",
      +              "load",
      +              "monitor"
      +            ],
      +            "type": "string"
      +          },
      +          "chargeAmpsTypical": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "chargePlanningA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "chargerMethodChargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "chargingNotes": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "chemistry": {
      +            "enum": [
      +              "lifepo4",
      +              "agm",
      +              "lead-acid",
      +              "gel"
      +            ],
      +            "type": "string"
      +          },
      +          "coldCrankingAmps": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "compatibleVoltages": {
      +            "items": {
      +              "maximum": 1000,
      +              "minimum": 0.01,
      +              "type": "number"
      +            },
      +            "maxItems": 20,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "conversionEfficiency": {
      +            "maximum": 1,
      +            "minimum": 0.001,
      +            "type": "number"
      +          },
      +          "currentShunt": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "batteryTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "referenceTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "systemTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "batteryTerminalId",
      +              "systemTerminalId"
      +            ],
      +            "type": "object"
      +          },
      +          "dcBreaker": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "dcMaxVoltage": {
      +                "maximum": 1000,
      +                "minimum": 0.01,
      +                "type": "number"
      +              },
      +              "inputTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "interruptRatings": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amperes": {
      +                      "maximum": 10000000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    },
      +                    "upToVoltage": {
      +                      "maximum": 1000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "upToVoltage",
      +                    "amperes"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "minItems": 1,
      +                "type": "array"
      +              },
      +              "outputTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "ratingA": {
      +                "maximum": 100000,
      +                "minimum": 0.01,
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "inputTerminalId",
      +              "outputTerminalId",
      +              "ratingA"
      +            ],
      +            "type": "object"
      +          },
      +          "description": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "dutyHoursPerDay": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "equipmentLimitExemption": {
      +            "enum": [
      +              "fuse",
      +              "busbar"
      +            ],
      +            "type": "string"
      +          },
      +          "fuseBusGroups": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "input": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "outputs": {
      +                  "items": {
      +                    "maxLength": 100,
      +                    "minLength": 1,
      +                    "pattern": "^[A-Za-z0-9_.-]+$",
      +                    "type": "string"
      +                  },
      +                  "maxItems": 64,
      +                  "minItems": 1,
      +                  "type": "array"
      +                }
      +              },
      +              "required": [
      +                "input",
      +                "outputs"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 64,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "fuseSlotType": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH",
      +              "gPV"
      +            ],
      +            "type": "string"
      +          },
      +          "height": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "hybridSourceOutputLimitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "id": {
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9_.-]+$",
      +            "type": "string"
      +          },
      +          "image": {
      +            "maxLength": 2048,
      +            "type": "string"
      +          },
      +          "inputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "interchangeableTerminalGroups": {
      +            "items": {
      +              "items": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "maxItems": 64,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "internalDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "isFuseBlock": {
      +            "type": "boolean"
      +          },
      +          "loadCurrentModel": {
      +            "enum": [
      +              "constant-current",
      +              "constant-power"
      +            ],
      +            "type": "string"
      +          },
      +          "manufacturer": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "marineCrankingAmps": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxChargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxDischargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxInputA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "model": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "name": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "oneWayDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "outputCurrentLimitsA": {
      +            "additionalProperties": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "propertyNames": {
      +              "maxLength": 100,
      +              "minLength": 1,
      +              "pattern": "^[A-Za-z0-9_.-]+$",
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "outputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "peakSunHoursDefault": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxSeriesFuseA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "pvVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "recommendedChargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "renderVariant": {
      +            "enum": [
      +              "card",
      +              "switch",
      +              "busbar",
      +              "junction",
      +              "chassis-ground",
      +              "fuse-holder"
      +            ],
      +            "type": "string"
      +          },
      +          "settings": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "default": {
      +                  "type": "boolean"
      +                },
      +                "help": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "semantics": {
      +                  "const": "disables-output",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "toggle",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "type",
      +                "default"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 24,
      +            "type": "array"
      +          },
      +          "shortCircuitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "shortName": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "simulateStates": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "default": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "options": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "ampMultiplier": {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "ampOverride": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "id": {
      +                      "maxLength": 100,
      +                      "minLength": 1,
      +                      "pattern": "^[A-Za-z0-9_.-]+$",
      +                      "type": "string"
      +                    },
      +                    "intraLinks": {
      +                      "items": {
      +                        "additionalItems": false,
      +                        "items": [
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          }
      +                        ],
      +                        "maxItems": 2,
      +                        "minItems": 2,
      +                        "type": "array"
      +                      },
      +                      "maxItems": 64,
      +                      "type": "array"
      +                    },
      +                    "label": {
      +                      "maxLength": 120,
      +                      "type": "string"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "draw",
      +                        "output"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "label"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "minItems": 1,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "default",
      +              "options"
      +            ],
      +            "type": "object"
      +          },
      +          "source": {
      +            "const": "ai",
      +            "type": "string"
      +          },
      +          "subtitle": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "terminals": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "color": {
      +                  "maxLength": 40,
      +                  "type": "string"
      +                },
      +                "direction": {
      +                  "enum": [
      +                    "input",
      +                    "output",
      +                    "bidi"
      +                  ],
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxAmp": {
      +                  "maximum": 100000,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "offset": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "polarity": {
      +                  "enum": [
      +                    "positive",
      +                    "negative",
      +                    "ground",
      +                    "signal",
      +                    "neutral"
      +                  ],
      +                  "type": "string"
      +                },
      +                "side": {
      +                  "enum": [
      +                    "left",
      +                    "right",
      +                    "top",
      +                    "bottom"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "polarity",
      +                "direction",
      +                "maxAmp",
      +                "side",
      +                "offset"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "voltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "watts": {
      +            "maximum": 10000000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "width": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "category",
      +          "terminals",
      +          "width",
      +          "height"
      +        ],
      +        "type": "object"
      +      },
      +      "definitionId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "dutyHoursPerDayOverride": {
      +        "maximum": 24,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "fuseAmp": {
      +        "anyOf": [
      +          {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isFusebox": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "component",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "notes": {
      +        "maxLength": 8000,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "partEstimated": {
      +        "type": "boolean"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "provisional": {
      +        "type": "boolean"
      +      },
      +      "rotation": {
      +        "anyOf": [
      +          {
      +            "const": 0,
      +            "type": "number"
      +          },
      +          {
      +            "const": 90,
      +            "type": "number"
      +          },
      +          {
      +            "const": 180,
      +            "type": "number"
      +          },
      +          {
      +            "const": 270,
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      "settings": {
      +        "additionalProperties": {
      +          "type": "boolean"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "studCount": {
      +        "maximum": 64,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "terminalOverrides": {
      +        "additionalProperties": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "offset": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "pinned": {
      +              "type": "boolean"
      +            },
      +            "side": {
      +              "enum": [
      +                "left",
      +                "right",
      +                "top",
      +                "bottom"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "definitionId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "color": {
      +        "maxLength": 40,
      +        "type": "string"
      +      },
      +      "height": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isEngineBay": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "zone",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "width": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "width",
      +      "height"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changed
    • addedInput schema / properties / system / properties / designProfileId
      Added value: +{
      +  "maxLength": 120,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / system / properties / version / const
      Previous value: -20New value: +21
  3. Changed1 schema field changed
    • changedInput schema / properties / system / properties / version / const
      Previous value: -19New value: +20
  4. Changed1 schema field changed
    • changedInput schema / properties / system / properties / version / const
      Previous value: -18New value: +19
  5. Changed1 schema field changed
    • changedInput schema / properties / system / properties / nodes / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "alwaysOnOverride": {
      -        "type": "boolean"
      -      },
      -      "batteryFuse": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "ratingA": {
      -            "maximum": 100000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "type": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH",
      -              "gPV"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "ratingA"
      -        ],
      -        "type": "object"
      -      },
      -      "customDefinition": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "acVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "aiAssumptions": {
      -            "items": {
      -              "maxLength": 500,
      -              "type": "string"
      -            },
      -            "maxItems": 40,
      -            "type": "array"
      -          },
      -          "aiEstimatedFields": {
      -            "items": {
      -              "maxLength": 120,
      -              "type": "string"
      -            },
      -            "maxItems": 60,
      -            "type": "array"
      -          },
      -          "alwaysOn": {
      -            "type": "boolean"
      -          },
      -          "ampDraw": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampOutput": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampSurge": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "bms": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "alternatorControl": {
      -                "items": {
      -                  "enum": [
      -                    "charge-relay",
      -                    "ignition-cut",
      -                    "field-cut",
      -                    "can-regulator",
      -                    "current-limit"
      -                  ],
      -                  "type": "string"
      -                },
      -                "maxItems": 5,
      -                "type": "array"
      -              },
      -              "busSeparation": {
      -                "enum": [
      -                  "single",
      -                  "dual"
      -                ],
      -                "type": "string"
      -              },
      -              "chemistrySupport": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "cellsMax": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "cellsMin": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "chemistry": {
      -                      "enum": [
      -                        "lifepo4",
      -                        "li-ion",
      -                        "nmc",
      -                        "lto"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "chemistry",
      -                    "cellsMin",
      -                    "cellsMax"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "compatibleBatteryIds": {
      -                "items": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "maxItems": 100,
      -                "type": "array"
      -              },
      -              "continuousChargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "continuousDischargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "controls": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "kind": {
      -                      "enum": [
      -                        "dry-contact",
      -                        "source",
      -                        "sink",
      -                        "opto"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "maxA": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "maxV": {
      -                      "maximum": 1000,
      -                      "minimum": 0.01,
      -                      "type": "number"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "charge-permit",
      -                        "discharge-permit",
      -                        "pre-alarm",
      -                        "alternator-field",
      -                        "heater",
      -                        "generic"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "kind"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "lowTempChargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "lowTempCutoffConfigurable": {
      -                "type": "boolean"
      -              },
      -              "lowTempDischargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "placement": {
      -                "enum": [
      -                  "internal",
      -                  "external"
      -                ],
      -                "type": "string"
      -              },
      -              "requiresExternalSwitchgear": {
      -                "type": "boolean"
      -              },
      -              "surge": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "amps": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "seconds": {
      -                      "anyOf": [
      -                        {
      -                          "maximum": 86400,
      -                          "minimum": 0.000001,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "amps",
      -                    "seconds"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "switching": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "signal",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "leg": {
      -                        "enum": [
      -                          "negative",
      -                          "positive"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "mode": {
      -                        "const": "fet",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode",
      -                      "leg"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "contactor",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "relay",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "unpublished": {
      -                "items": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxItems": 40,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "placement",
      -              "switching",
      -              "busSeparation"
      -            ],
      -            "type": "object"
      -          },
      -          "capacityAh": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "category": {
      -            "enum": [
      -              "battery",
      -              "charger",
      -              "solar",
      -              "source",
      -              "engine",
      -              "distribution",
      -              "load",
      -              "monitor"
      -            ],
      -            "type": "string"
      -          },
      -          "chargeAmpsTypical": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "chemistry": {
      -            "enum": [
      -              "lifepo4",
      -              "agm",
      -              "lead-acid",
      -              "gel"
      -            ],
      -            "type": "string"
      -          },
      -          "compatibleVoltages": {
      -            "items": {
      -              "maximum": 1000,
      -              "minimum": 0.01,
      -              "type": "number"
      -            },
      -            "maxItems": 20,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          "conversionEfficiency": {
      -            "maximum": 1,
      -            "minimum": 0.001,
      -            "type": "number"
      -          },
      -          "currentShunt": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "batteryTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "referenceTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "systemTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "batteryTerminalId",
      -              "systemTerminalId"
      -            ],
      -            "type": "object"
      -          },
      -          "description": {
      -            "maxLength": 2000,
      -            "type": "string"
      -          },
      -          "dutyHoursPerDay": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "equipmentLimitExemption": {
      -            "enum": [
      -              "fuse",
      -              "busbar"
      -            ],
      -            "type": "string"
      -          },
      -          "fuseSlotType": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH",
      -              "gPV"
      -            ],
      -            "type": "string"
      -          },
      -          "height": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          },
      -          "hybridSourceOutputLimitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "id": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9_.-]+$",
      -            "type": "string"
      -          },
      -          "image": {
      -            "maxLength": 2048,
      -            "type": "string"
      -          },
      -          "inputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "interchangeableTerminalGroups": {
      -            "items": {
      -              "items": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "maxItems": 64,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "internalDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "isFuseBlock": {
      -            "type": "boolean"
      -          },
      -          "loadCurrentModel": {
      -            "enum": [
      -              "constant-current",
      -              "constant-power"
      -            ],
      -            "type": "string"
      -          },
      -          "manufacturer": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "maxChargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxDischargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxInputA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "model": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "name": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "oneWayDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "outputCurrentLimitsA": {
      -            "additionalProperties": {
      -              "maximum": 100000,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "propertyNames": {
      -              "maxLength": 100,
      -              "minLength": 1,
      -              "pattern": "^[A-Za-z0-9_.-]+$",
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "outputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "peakSunHoursDefault": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxSeriesFuseA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "pvVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "renderVariant": {
      -            "enum": [
      -              "card",
      -              "switch",
      -              "busbar",
      -              "junction",
      -              "chassis-ground",
      -              "fuse-holder"
      -            ],
      -            "type": "string"
      -          },
      -          "settings": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "default": {
      -                  "type": "boolean"
      -                },
      -                "help": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "semantics": {
      -                  "const": "disables-output",
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "toggle",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "type",
      -                "default"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 24,
      -            "type": "array"
      -          },
      -          "shortCircuitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "shortName": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "simulateStates": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "default": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "options": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "ampMultiplier": {
      -                      "maximum": 100,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "ampOverride": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "id": {
      -                      "maxLength": 100,
      -                      "minLength": 1,
      -                      "pattern": "^[A-Za-z0-9_.-]+$",
      -                      "type": "string"
      -                    },
      -                    "intraLinks": {
      -                      "items": {
      -                        "additionalItems": false,
      -                        "items": [
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          }
      -                        ],
      -                        "maxItems": 2,
      -                        "minItems": 2,
      -                        "type": "array"
      -                      },
      -                      "maxItems": 64,
      -                      "type": "array"
      -                    },
      -                    "label": {
      -                      "maxLength": 120,
      -                      "type": "string"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "draw",
      -                        "output"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "label"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "minItems": 1,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "default",
      -              "options"
      -            ],
      -            "type": "object"
      -          },
      -          "source": {
      -            "const": "ai",
      -            "type": "string"
      -          },
      -          "subtitle": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "terminals": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "color": {
      -                  "maxLength": 40,
      -                  "type": "string"
      -                },
      -                "direction": {
      -                  "enum": [
      -                    "input",
      -                    "output",
      -                    "bidi"
      -                  ],
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxAmp": {
      -                  "maximum": 100000,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "offset": {
      -                  "maximum": 1,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "polarity": {
      -                  "enum": [
      -                    "positive",
      -                    "negative",
      -                    "ground",
      -                    "signal",
      -                    "neutral"
      -                  ],
      -                  "type": "string"
      -                },
      -                "side": {
      -                  "enum": [
      -                    "left",
      -                    "right",
      -                    "top",
      -                    "bottom"
      -                  ],
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "polarity",
      -                "direction",
      -                "maxAmp",
      -                "side",
      -                "offset"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "voltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "watts": {
      -            "maximum": 10000000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "width": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "category",
      -          "terminals",
      -          "width",
      -          "height"
      -        ],
      -        "type": "object"
      -      },
      -      "definitionId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "dutyHoursPerDayOverride": {
      -        "maximum": 24,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "fuseAmp": {
      -        "anyOf": [
      -          {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isFusebox": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "component",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "notes": {
      -        "maxLength": 8000,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "partEstimated": {
      -        "type": "boolean"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "provisional": {
      -        "type": "boolean"
      -      },
      -      "rotation": {
      -        "anyOf": [
      -          {
      -            "const": 0,
      -            "type": "number"
      -          },
      -          {
      -            "const": 90,
      -            "type": "number"
      -          },
      -          {
      -            "const": 180,
      -            "type": "number"
      -          },
      -          {
      -            "const": 270,
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      "settings": {
      -        "additionalProperties": {
      -          "type": "boolean"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "studCount": {
      -        "maximum": 64,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "terminalOverrides": {
      -        "additionalProperties": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "offset": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "pinned": {
      -              "type": "boolean"
      -            },
      -            "side": {
      -              "enum": [
      -                "left",
      -                "right",
      -                "top",
      -                "bottom"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "definitionId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "color": {
      -        "maxLength": 40,
      -        "type": "string"
      -      },
      -      "height": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isEngineBay": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "zone",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "width": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "width",
      -      "height"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "alwaysOnOverride": {
      +        "type": "boolean"
      +      },
      +      "batteryFuse": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ratingA": {
      +            "maximum": 100000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "type": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH",
      +              "gPV"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "ratingA"
      +        ],
      +        "type": "object"
      +      },
      +      "customDefinition": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "acVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "aiAssumptions": {
      +            "items": {
      +              "maxLength": 500,
      +              "type": "string"
      +            },
      +            "maxItems": 40,
      +            "type": "array"
      +          },
      +          "aiEstimatedFields": {
      +            "items": {
      +              "maxLength": 120,
      +              "type": "string"
      +            },
      +            "maxItems": 60,
      +            "type": "array"
      +          },
      +          "alwaysOn": {
      +            "type": "boolean"
      +          },
      +          "ampDraw": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampOutput": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampSurge": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "bms": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "alternatorControl": {
      +                "items": {
      +                  "enum": [
      +                    "charge-relay",
      +                    "ignition-cut",
      +                    "field-cut",
      +                    "can-regulator",
      +                    "current-limit"
      +                  ],
      +                  "type": "string"
      +                },
      +                "maxItems": 5,
      +                "type": "array"
      +              },
      +              "busSeparation": {
      +                "enum": [
      +                  "single",
      +                  "dual"
      +                ],
      +                "type": "string"
      +              },
      +              "chemistrySupport": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "cellsMax": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "cellsMin": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "chemistry": {
      +                      "enum": [
      +                        "lifepo4",
      +                        "li-ion",
      +                        "nmc",
      +                        "lto"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "chemistry",
      +                    "cellsMin",
      +                    "cellsMax"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "compatibleBatteryIds": {
      +                "items": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "continuousChargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "continuousDischargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "controls": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "enum": [
      +                        "dry-contact",
      +                        "source",
      +                        "sink",
      +                        "opto"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "maxA": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "maxV": {
      +                      "maximum": 1000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "charge-permit",
      +                        "discharge-permit",
      +                        "pre-alarm",
      +                        "alternator-field",
      +                        "heater",
      +                        "generic"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "kind"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "lowTempChargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "lowTempCutoffConfigurable": {
      +                "type": "boolean"
      +              },
      +              "lowTempDischargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "placement": {
      +                "enum": [
      +                  "internal",
      +                  "external"
      +                ],
      +                "type": "string"
      +              },
      +              "requiresExternalSwitchgear": {
      +                "type": "boolean"
      +              },
      +              "surge": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amps": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "seconds": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 86400,
      +                          "minimum": 0.000001,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "amps",
      +                    "seconds"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "switching": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "signal",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "leg": {
      +                        "enum": [
      +                          "negative",
      +                          "positive"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "mode": {
      +                        "const": "fet",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode",
      +                      "leg"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "contactor",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "relay",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "unpublished": {
      +                "items": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxItems": 40,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "placement",
      +              "switching",
      +              "busSeparation"
      +            ],
      +            "type": "object"
      +          },
      +          "capacityAh": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "category": {
      +            "enum": [
      +              "battery",
      +              "charger",
      +              "solar",
      +              "source",
      +              "engine",
      +              "distribution",
      +              "load",
      +              "monitor"
      +            ],
      +            "type": "string"
      +          },
      +          "chargeAmpsTypical": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "chemistry": {
      +            "enum": [
      +              "lifepo4",
      +              "agm",
      +              "lead-acid",
      +              "gel"
      +            ],
      +            "type": "string"
      +          },
      +          "compatibleVoltages": {
      +            "items": {
      +              "maximum": 1000,
      +              "minimum": 0.01,
      +              "type": "number"
      +            },
      +            "maxItems": 20,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "conversionEfficiency": {
      +            "maximum": 1,
      +            "minimum": 0.001,
      +            "type": "number"
      +          },
      +          "currentShunt": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "batteryTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "referenceTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "systemTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "batteryTerminalId",
      +              "systemTerminalId"
      +            ],
      +            "type": "object"
      +          },
      +          "dcBreaker": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "dcMaxVoltage": {
      +                "maximum": 1000,
      +                "minimum": 0.01,
      +                "type": "number"
      +              },
      +              "inputTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "interruptRatings": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amperes": {
      +                      "maximum": 10000000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    },
      +                    "upToVoltage": {
      +                      "maximum": 1000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "upToVoltage",
      +                    "amperes"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "minItems": 1,
      +                "type": "array"
      +              },
      +              "outputTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "ratingA": {
      +                "maximum": 100000,
      +                "minimum": 0.01,
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "inputTerminalId",
      +              "outputTerminalId",
      +              "ratingA"
      +            ],
      +            "type": "object"
      +          },
      +          "description": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "dutyHoursPerDay": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "equipmentLimitExemption": {
      +            "enum": [
      +              "fuse",
      +              "busbar"
      +            ],
      +            "type": "string"
      +          },
      +          "fuseBusGroups": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "input": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "outputs": {
      +                  "items": {
      +                    "maxLength": 100,
      +                    "minLength": 1,
      +                    "pattern": "^[A-Za-z0-9_.-]+$",
      +                    "type": "string"
      +                  },
      +                  "maxItems": 64,
      +                  "minItems": 1,
      +                  "type": "array"
      +                }
      +              },
      +              "required": [
      +                "input",
      +                "outputs"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 64,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "fuseSlotType": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH",
      +              "gPV"
      +            ],
      +            "type": "string"
      +          },
      +          "height": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "hybridSourceOutputLimitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "id": {
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9_.-]+$",
      +            "type": "string"
      +          },
      +          "image": {
      +            "maxLength": 2048,
      +            "type": "string"
      +          },
      +          "inputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "interchangeableTerminalGroups": {
      +            "items": {
      +              "items": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "maxItems": 64,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "internalDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "isFuseBlock": {
      +            "type": "boolean"
      +          },
      +          "loadCurrentModel": {
      +            "enum": [
      +              "constant-current",
      +              "constant-power"
      +            ],
      +            "type": "string"
      +          },
      +          "manufacturer": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "maxChargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxDischargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxInputA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "model": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "name": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "oneWayDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "outputCurrentLimitsA": {
      +            "additionalProperties": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "propertyNames": {
      +              "maxLength": 100,
      +              "minLength": 1,
      +              "pattern": "^[A-Za-z0-9_.-]+$",
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "outputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "peakSunHoursDefault": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxSeriesFuseA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "pvVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "renderVariant": {
      +            "enum": [
      +              "card",
      +              "switch",
      +              "busbar",
      +              "junction",
      +              "chassis-ground",
      +              "fuse-holder"
      +            ],
      +            "type": "string"
      +          },
      +          "settings": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "default": {
      +                  "type": "boolean"
      +                },
      +                "help": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "semantics": {
      +                  "const": "disables-output",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "toggle",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "type",
      +                "default"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 24,
      +            "type": "array"
      +          },
      +          "shortCircuitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "shortName": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "simulateStates": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "default": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "options": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "ampMultiplier": {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "ampOverride": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "id": {
      +                      "maxLength": 100,
      +                      "minLength": 1,
      +                      "pattern": "^[A-Za-z0-9_.-]+$",
      +                      "type": "string"
      +                    },
      +                    "intraLinks": {
      +                      "items": {
      +                        "additionalItems": false,
      +                        "items": [
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          }
      +                        ],
      +                        "maxItems": 2,
      +                        "minItems": 2,
      +                        "type": "array"
      +                      },
      +                      "maxItems": 64,
      +                      "type": "array"
      +                    },
      +                    "label": {
      +                      "maxLength": 120,
      +                      "type": "string"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "draw",
      +                        "output"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "label"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "minItems": 1,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "default",
      +              "options"
      +            ],
      +            "type": "object"
      +          },
      +          "source": {
      +            "const": "ai",
      +            "type": "string"
      +          },
      +          "subtitle": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "terminals": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "color": {
      +                  "maxLength": 40,
      +                  "type": "string"
      +                },
      +                "direction": {
      +                  "enum": [
      +                    "input",
      +                    "output",
      +                    "bidi"
      +                  ],
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxAmp": {
      +                  "maximum": 100000,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "offset": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "polarity": {
      +                  "enum": [
      +                    "positive",
      +                    "negative",
      +                    "ground",
      +                    "signal",
      +                    "neutral"
      +                  ],
      +                  "type": "string"
      +                },
      +                "side": {
      +                  "enum": [
      +                    "left",
      +                    "right",
      +                    "top",
      +                    "bottom"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "polarity",
      +                "direction",
      +                "maxAmp",
      +                "side",
      +                "offset"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "voltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "watts": {
      +            "maximum": 10000000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "width": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "category",
      +          "terminals",
      +          "width",
      +          "height"
      +        ],
      +        "type": "object"
      +      },
      +      "definitionId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "dutyHoursPerDayOverride": {
      +        "maximum": 24,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "fuseAmp": {
      +        "anyOf": [
      +          {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isFusebox": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "component",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "notes": {
      +        "maxLength": 8000,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "partEstimated": {
      +        "type": "boolean"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "provisional": {
      +        "type": "boolean"
      +      },
      +      "rotation": {
      +        "anyOf": [
      +          {
      +            "const": 0,
      +            "type": "number"
      +          },
      +          {
      +            "const": 90,
      +            "type": "number"
      +          },
      +          {
      +            "const": 180,
      +            "type": "number"
      +          },
      +          {
      +            "const": 270,
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      "settings": {
      +        "additionalProperties": {
      +          "type": "boolean"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "studCount": {
      +        "maximum": 64,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "terminalOverrides": {
      +        "additionalProperties": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "offset": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "pinned": {
      +              "type": "boolean"
      +            },
      +            "side": {
      +              "enum": [
      +                "left",
      +                "right",
      +                "top",
      +                "bottom"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "definitionId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "color": {
      +        "maxLength": 40,
      +        "type": "string"
      +      },
      +      "height": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isEngineBay": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "zone",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "width": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "width",
      +      "height"
      +    ],
      +    "type": "object"
      +  }
      +]
  6. Changed3 schema fields changed
    • changedInput schema / properties / system / properties / cables / items / properties / fuseTypeOverride / enum
      Previous value: -[
      -  "ATC",
      -  "MIDI",
      -  "MAXI",
      -  "MEGA",
      -  "ANL",
      -  "MRBF",
      -  "ClassT",
      -  "NH"
      -]New value: +[
      +  "ATC",
      +  "MIDI",
      +  "MAXI",
      +  "MEGA",
      +  "ANL",
      +  "MRBF",
      +  "ClassT",
      +  "NH",
      +  "gPV"
      +]
    • changedInput schema / properties / system / properties / nodes / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "alwaysOnOverride": {
      -        "type": "boolean"
      -      },
      -      "batteryFuse": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "ratingA": {
      -            "maximum": 100000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "type": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "ratingA"
      -        ],
      -        "type": "object"
      -      },
      -      "customDefinition": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "acVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "aiAssumptions": {
      -            "items": {
      -              "maxLength": 500,
      -              "type": "string"
      -            },
      -            "maxItems": 40,
      -            "type": "array"
      -          },
      -          "aiEstimatedFields": {
      -            "items": {
      -              "maxLength": 120,
      -              "type": "string"
      -            },
      -            "maxItems": 60,
      -            "type": "array"
      -          },
      -          "alwaysOn": {
      -            "type": "boolean"
      -          },
      -          "ampDraw": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampOutput": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampSurge": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "bms": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "alternatorControl": {
      -                "items": {
      -                  "enum": [
      -                    "charge-relay",
      -                    "ignition-cut",
      -                    "field-cut",
      -                    "can-regulator",
      -                    "current-limit"
      -                  ],
      -                  "type": "string"
      -                },
      -                "maxItems": 5,
      -                "type": "array"
      -              },
      -              "busSeparation": {
      -                "enum": [
      -                  "single",
      -                  "dual"
      -                ],
      -                "type": "string"
      -              },
      -              "chemistrySupport": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "cellsMax": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "cellsMin": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "chemistry": {
      -                      "enum": [
      -                        "lifepo4",
      -                        "li-ion",
      -                        "nmc",
      -                        "lto"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "chemistry",
      -                    "cellsMin",
      -                    "cellsMax"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "compatibleBatteryIds": {
      -                "items": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "maxItems": 100,
      -                "type": "array"
      -              },
      -              "continuousChargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "continuousDischargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "controls": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "kind": {
      -                      "enum": [
      -                        "dry-contact",
      -                        "source",
      -                        "sink",
      -                        "opto"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "maxA": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "maxV": {
      -                      "maximum": 1000,
      -                      "minimum": 0.01,
      -                      "type": "number"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "charge-permit",
      -                        "discharge-permit",
      -                        "pre-alarm",
      -                        "alternator-field",
      -                        "heater",
      -                        "generic"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "kind"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "lowTempChargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "lowTempCutoffConfigurable": {
      -                "type": "boolean"
      -              },
      -              "lowTempDischargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "placement": {
      -                "enum": [
      -                  "internal",
      -                  "external"
      -                ],
      -                "type": "string"
      -              },
      -              "requiresExternalSwitchgear": {
      -                "type": "boolean"
      -              },
      -              "surge": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "amps": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "seconds": {
      -                      "anyOf": [
      -                        {
      -                          "maximum": 86400,
      -                          "minimum": 0.000001,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "amps",
      -                    "seconds"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "switching": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "signal",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "leg": {
      -                        "enum": [
      -                          "negative",
      -                          "positive"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "mode": {
      -                        "const": "fet",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode",
      -                      "leg"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "contactor",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "relay",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "unpublished": {
      -                "items": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxItems": 40,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "placement",
      -              "switching",
      -              "busSeparation"
      -            ],
      -            "type": "object"
      -          },
      -          "capacityAh": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "category": {
      -            "enum": [
      -              "battery",
      -              "charger",
      -              "solar",
      -              "source",
      -              "engine",
      -              "distribution",
      -              "load",
      -              "monitor"
      -            ],
      -            "type": "string"
      -          },
      -          "chargeAmpsTypical": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "chemistry": {
      -            "enum": [
      -              "lifepo4",
      -              "agm",
      -              "lead-acid",
      -              "gel"
      -            ],
      -            "type": "string"
      -          },
      -          "compatibleVoltages": {
      -            "items": {
      -              "maximum": 1000,
      -              "minimum": 0.01,
      -              "type": "number"
      -            },
      -            "maxItems": 20,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          "conversionEfficiency": {
      -            "maximum": 1,
      -            "minimum": 0.001,
      -            "type": "number"
      -          },
      -          "currentShunt": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "batteryTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "referenceTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "systemTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "batteryTerminalId",
      -              "systemTerminalId"
      -            ],
      -            "type": "object"
      -          },
      -          "description": {
      -            "maxLength": 2000,
      -            "type": "string"
      -          },
      -          "dutyHoursPerDay": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "equipmentLimitExemption": {
      -            "enum": [
      -              "fuse",
      -              "busbar"
      -            ],
      -            "type": "string"
      -          },
      -          "fuseSlotType": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH"
      -            ],
      -            "type": "string"
      -          },
      -          "height": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          },
      -          "hybridSourceOutputLimitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "id": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9_.-]+$",
      -            "type": "string"
      -          },
      -          "image": {
      -            "maxLength": 2048,
      -            "type": "string"
      -          },
      -          "inputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "interchangeableTerminalGroups": {
      -            "items": {
      -              "items": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "maxItems": 64,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "internalDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "isFuseBlock": {
      -            "type": "boolean"
      -          },
      -          "loadCurrentModel": {
      -            "enum": [
      -              "constant-current",
      -              "constant-power"
      -            ],
      -            "type": "string"
      -          },
      -          "manufacturer": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "maxChargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxDischargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxInputA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "model": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "name": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "oneWayDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "outputCurrentLimitsA": {
      -            "additionalProperties": {
      -              "maximum": 100000,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "propertyNames": {
      -              "maxLength": 100,
      -              "minLength": 1,
      -              "pattern": "^[A-Za-z0-9_.-]+$",
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "outputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "peakSunHoursDefault": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxSeriesFuseA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "pvVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "renderVariant": {
      -            "enum": [
      -              "card",
      -              "switch",
      -              "busbar",
      -              "junction",
      -              "chassis-ground",
      -              "fuse-holder"
      -            ],
      -            "type": "string"
      -          },
      -          "settings": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "default": {
      -                  "type": "boolean"
      -                },
      -                "help": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "semantics": {
      -                  "const": "disables-output",
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "toggle",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "type",
      -                "default"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 24,
      -            "type": "array"
      -          },
      -          "shortCircuitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "shortName": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "simulateStates": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "default": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "options": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "ampMultiplier": {
      -                      "maximum": 100,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "ampOverride": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "id": {
      -                      "maxLength": 100,
      -                      "minLength": 1,
      -                      "pattern": "^[A-Za-z0-9_.-]+$",
      -                      "type": "string"
      -                    },
      -                    "intraLinks": {
      -                      "items": {
      -                        "additionalItems": false,
      -                        "items": [
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          }
      -                        ],
      -                        "maxItems": 2,
      -                        "minItems": 2,
      -                        "type": "array"
      -                      },
      -                      "maxItems": 64,
      -                      "type": "array"
      -                    },
      -                    "label": {
      -                      "maxLength": 120,
      -                      "type": "string"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "draw",
      -                        "output"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "label"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "minItems": 1,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "default",
      -              "options"
      -            ],
      -            "type": "object"
      -          },
      -          "source": {
      -            "const": "ai",
      -            "type": "string"
      -          },
      -          "subtitle": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "terminals": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "color": {
      -                  "maxLength": 40,
      -                  "type": "string"
      -                },
      -                "direction": {
      -                  "enum": [
      -                    "input",
      -                    "output",
      -                    "bidi"
      -                  ],
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxAmp": {
      -                  "maximum": 100000,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "offset": {
      -                  "maximum": 1,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "polarity": {
      -                  "enum": [
      -                    "positive",
      -                    "negative",
      -                    "ground",
      -                    "signal",
      -                    "neutral"
      -                  ],
      -                  "type": "string"
      -                },
      -                "side": {
      -                  "enum": [
      -                    "left",
      -                    "right",
      -                    "top",
      -                    "bottom"
      -                  ],
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "polarity",
      -                "direction",
      -                "maxAmp",
      -                "side",
      -                "offset"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "voltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "watts": {
      -            "maximum": 10000000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "width": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "category",
      -          "terminals",
      -          "width",
      -          "height"
      -        ],
      -        "type": "object"
      -      },
      -      "definitionId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "dutyHoursPerDayOverride": {
      -        "maximum": 24,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "fuseAmp": {
      -        "anyOf": [
      -          {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isFusebox": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "component",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "notes": {
      -        "maxLength": 8000,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "partEstimated": {
      -        "type": "boolean"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "provisional": {
      -        "type": "boolean"
      -      },
      -      "rotation": {
      -        "anyOf": [
      -          {
      -            "const": 0,
      -            "type": "number"
      -          },
      -          {
      -            "const": 90,
      -            "type": "number"
      -          },
      -          {
      -            "const": 180,
      -            "type": "number"
      -          },
      -          {
      -            "const": 270,
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      "settings": {
      -        "additionalProperties": {
      -          "type": "boolean"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "studCount": {
      -        "maximum": 64,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "terminalOverrides": {
      -        "additionalProperties": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "offset": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "pinned": {
      -              "type": "boolean"
      -            },
      -            "side": {
      -              "enum": [
      -                "left",
      -                "right",
      -                "top",
      -                "bottom"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "definitionId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "color": {
      -        "maxLength": 40,
      -        "type": "string"
      -      },
      -      "height": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isEngineBay": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "zone",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "width": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "width",
      -      "height"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "alwaysOnOverride": {
      +        "type": "boolean"
      +      },
      +      "batteryFuse": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ratingA": {
      +            "maximum": 100000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "type": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH",
      +              "gPV"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "ratingA"
      +        ],
      +        "type": "object"
      +      },
      +      "customDefinition": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "acVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "aiAssumptions": {
      +            "items": {
      +              "maxLength": 500,
      +              "type": "string"
      +            },
      +            "maxItems": 40,
      +            "type": "array"
      +          },
      +          "aiEstimatedFields": {
      +            "items": {
      +              "maxLength": 120,
      +              "type": "string"
      +            },
      +            "maxItems": 60,
      +            "type": "array"
      +          },
      +          "alwaysOn": {
      +            "type": "boolean"
      +          },
      +          "ampDraw": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampOutput": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampSurge": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "bms": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "alternatorControl": {
      +                "items": {
      +                  "enum": [
      +                    "charge-relay",
      +                    "ignition-cut",
      +                    "field-cut",
      +                    "can-regulator",
      +                    "current-limit"
      +                  ],
      +                  "type": "string"
      +                },
      +                "maxItems": 5,
      +                "type": "array"
      +              },
      +              "busSeparation": {
      +                "enum": [
      +                  "single",
      +                  "dual"
      +                ],
      +                "type": "string"
      +              },
      +              "chemistrySupport": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "cellsMax": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "cellsMin": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "chemistry": {
      +                      "enum": [
      +                        "lifepo4",
      +                        "li-ion",
      +                        "nmc",
      +                        "lto"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "chemistry",
      +                    "cellsMin",
      +                    "cellsMax"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "compatibleBatteryIds": {
      +                "items": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "continuousChargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "continuousDischargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "controls": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "enum": [
      +                        "dry-contact",
      +                        "source",
      +                        "sink",
      +                        "opto"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "maxA": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "maxV": {
      +                      "maximum": 1000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "charge-permit",
      +                        "discharge-permit",
      +                        "pre-alarm",
      +                        "alternator-field",
      +                        "heater",
      +                        "generic"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "kind"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "lowTempChargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "lowTempCutoffConfigurable": {
      +                "type": "boolean"
      +              },
      +              "lowTempDischargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "placement": {
      +                "enum": [
      +                  "internal",
      +                  "external"
      +                ],
      +                "type": "string"
      +              },
      +              "requiresExternalSwitchgear": {
      +                "type": "boolean"
      +              },
      +              "surge": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amps": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "seconds": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 86400,
      +                          "minimum": 0.000001,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "amps",
      +                    "seconds"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "switching": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "signal",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "leg": {
      +                        "enum": [
      +                          "negative",
      +                          "positive"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "mode": {
      +                        "const": "fet",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode",
      +                      "leg"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "contactor",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "relay",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "unpublished": {
      +                "items": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxItems": 40,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "placement",
      +              "switching",
      +              "busSeparation"
      +            ],
      +            "type": "object"
      +          },
      +          "capacityAh": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "category": {
      +            "enum": [
      +              "battery",
      +              "charger",
      +              "solar",
      +              "source",
      +              "engine",
      +              "distribution",
      +              "load",
      +              "monitor"
      +            ],
      +            "type": "string"
      +          },
      +          "chargeAmpsTypical": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "chemistry": {
      +            "enum": [
      +              "lifepo4",
      +              "agm",
      +              "lead-acid",
      +              "gel"
      +            ],
      +            "type": "string"
      +          },
      +          "compatibleVoltages": {
      +            "items": {
      +              "maximum": 1000,
      +              "minimum": 0.01,
      +              "type": "number"
      +            },
      +            "maxItems": 20,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "conversionEfficiency": {
      +            "maximum": 1,
      +            "minimum": 0.001,
      +            "type": "number"
      +          },
      +          "currentShunt": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "batteryTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "referenceTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "systemTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "batteryTerminalId",
      +              "systemTerminalId"
      +            ],
      +            "type": "object"
      +          },
      +          "description": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "dutyHoursPerDay": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "equipmentLimitExemption": {
      +            "enum": [
      +              "fuse",
      +              "busbar"
      +            ],
      +            "type": "string"
      +          },
      +          "fuseSlotType": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH",
      +              "gPV"
      +            ],
      +            "type": "string"
      +          },
      +          "height": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "hybridSourceOutputLimitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "id": {
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9_.-]+$",
      +            "type": "string"
      +          },
      +          "image": {
      +            "maxLength": 2048,
      +            "type": "string"
      +          },
      +          "inputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "interchangeableTerminalGroups": {
      +            "items": {
      +              "items": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "maxItems": 64,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "internalDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "isFuseBlock": {
      +            "type": "boolean"
      +          },
      +          "loadCurrentModel": {
      +            "enum": [
      +              "constant-current",
      +              "constant-power"
      +            ],
      +            "type": "string"
      +          },
      +          "manufacturer": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "maxChargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxDischargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxInputA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "model": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "name": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "oneWayDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "outputCurrentLimitsA": {
      +            "additionalProperties": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "propertyNames": {
      +              "maxLength": 100,
      +              "minLength": 1,
      +              "pattern": "^[A-Za-z0-9_.-]+$",
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "outputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "peakSunHoursDefault": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxSeriesFuseA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "pvVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "renderVariant": {
      +            "enum": [
      +              "card",
      +              "switch",
      +              "busbar",
      +              "junction",
      +              "chassis-ground",
      +              "fuse-holder"
      +            ],
      +            "type": "string"
      +          },
      +          "settings": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "default": {
      +                  "type": "boolean"
      +                },
      +                "help": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "semantics": {
      +                  "const": "disables-output",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "toggle",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "type",
      +                "default"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 24,
      +            "type": "array"
      +          },
      +          "shortCircuitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "shortName": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "simulateStates": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "default": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "options": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "ampMultiplier": {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "ampOverride": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "id": {
      +                      "maxLength": 100,
      +                      "minLength": 1,
      +                      "pattern": "^[A-Za-z0-9_.-]+$",
      +                      "type": "string"
      +                    },
      +                    "intraLinks": {
      +                      "items": {
      +                        "additionalItems": false,
      +                        "items": [
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          }
      +                        ],
      +                        "maxItems": 2,
      +                        "minItems": 2,
      +                        "type": "array"
      +                      },
      +                      "maxItems": 64,
      +                      "type": "array"
      +                    },
      +                    "label": {
      +                      "maxLength": 120,
      +                      "type": "string"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "draw",
      +                        "output"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "label"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "minItems": 1,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "default",
      +              "options"
      +            ],
      +            "type": "object"
      +          },
      +          "source": {
      +            "const": "ai",
      +            "type": "string"
      +          },
      +          "subtitle": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "terminals": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "color": {
      +                  "maxLength": 40,
      +                  "type": "string"
      +                },
      +                "direction": {
      +                  "enum": [
      +                    "input",
      +                    "output",
      +                    "bidi"
      +                  ],
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxAmp": {
      +                  "maximum": 100000,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "offset": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "polarity": {
      +                  "enum": [
      +                    "positive",
      +                    "negative",
      +                    "ground",
      +                    "signal",
      +                    "neutral"
      +                  ],
      +                  "type": "string"
      +                },
      +                "side": {
      +                  "enum": [
      +                    "left",
      +                    "right",
      +                    "top",
      +                    "bottom"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "polarity",
      +                "direction",
      +                "maxAmp",
      +                "side",
      +                "offset"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "voltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "watts": {
      +            "maximum": 10000000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "width": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "category",
      +          "terminals",
      +          "width",
      +          "height"
      +        ],
      +        "type": "object"
      +      },
      +      "definitionId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "dutyHoursPerDayOverride": {
      +        "maximum": 24,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "fuseAmp": {
      +        "anyOf": [
      +          {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isFusebox": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "component",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "notes": {
      +        "maxLength": 8000,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "partEstimated": {
      +        "type": "boolean"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "provisional": {
      +        "type": "boolean"
      +      },
      +      "rotation": {
      +        "anyOf": [
      +          {
      +            "const": 0,
      +            "type": "number"
      +          },
      +          {
      +            "const": 90,
      +            "type": "number"
      +          },
      +          {
      +            "const": 180,
      +            "type": "number"
      +          },
      +          {
      +            "const": 270,
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      "settings": {
      +        "additionalProperties": {
      +          "type": "boolean"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "studCount": {
      +        "maximum": 64,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "terminalOverrides": {
      +        "additionalProperties": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "offset": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "pinned": {
      +              "type": "boolean"
      +            },
      +            "side": {
      +              "enum": [
      +                "left",
      +                "right",
      +                "top",
      +                "bottom"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "definitionId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "color": {
      +        "maxLength": 40,
      +        "type": "string"
      +      },
      +      "height": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isEngineBay": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "zone",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "width": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "width",
      +      "height"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedInput schema / properties / system / properties / version / const
      Previous value: -17New value: +18
  7. Changed2 schema fields changed
    • changedInput schema / properties / system / properties / nodes / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "alwaysOnOverride": {
      -        "type": "boolean"
      -      },
      -      "batteryFuse": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "ratingA": {
      -            "maximum": 100000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "type": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "ratingA"
      -        ],
      -        "type": "object"
      -      },
      -      "customDefinition": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "acVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "aiAssumptions": {
      -            "items": {
      -              "maxLength": 500,
      -              "type": "string"
      -            },
      -            "maxItems": 40,
      -            "type": "array"
      -          },
      -          "aiEstimatedFields": {
      -            "items": {
      -              "maxLength": 120,
      -              "type": "string"
      -            },
      -            "maxItems": 60,
      -            "type": "array"
      -          },
      -          "alwaysOn": {
      -            "type": "boolean"
      -          },
      -          "ampDraw": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampOutput": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "ampSurge": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "bms": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "alternatorControl": {
      -                "items": {
      -                  "enum": [
      -                    "charge-relay",
      -                    "ignition-cut",
      -                    "field-cut",
      -                    "can-regulator",
      -                    "current-limit"
      -                  ],
      -                  "type": "string"
      -                },
      -                "maxItems": 5,
      -                "type": "array"
      -              },
      -              "busSeparation": {
      -                "enum": [
      -                  "single",
      -                  "dual"
      -                ],
      -                "type": "string"
      -              },
      -              "chemistrySupport": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "cellsMax": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "cellsMin": {
      -                      "maximum": 1000,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "chemistry": {
      -                      "enum": [
      -                        "lifepo4",
      -                        "li-ion",
      -                        "nmc",
      -                        "lto"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "chemistry",
      -                    "cellsMin",
      -                    "cellsMax"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "compatibleBatteryIds": {
      -                "items": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "maxItems": 100,
      -                "type": "array"
      -              },
      -              "continuousChargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "continuousDischargeA": {
      -                "maximum": 100000,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "controls": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "kind": {
      -                      "enum": [
      -                        "dry-contact",
      -                        "source",
      -                        "sink",
      -                        "opto"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "maxA": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "maxV": {
      -                      "maximum": 1000,
      -                      "minimum": 0.01,
      -                      "type": "number"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "charge-permit",
      -                        "discharge-permit",
      -                        "pre-alarm",
      -                        "alternator-field",
      -                        "heater",
      -                        "generic"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "kind"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "lowTempChargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "lowTempCutoffConfigurable": {
      -                "type": "boolean"
      -              },
      -              "lowTempDischargeCutoffC": {
      -                "maximum": 100,
      -                "minimum": -100,
      -                "type": "number"
      -              },
      -              "placement": {
      -                "enum": [
      -                  "internal",
      -                  "external"
      -                ],
      -                "type": "string"
      -              },
      -              "requiresExternalSwitchgear": {
      -                "type": "boolean"
      -              },
      -              "surge": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "amps": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "seconds": {
      -                      "anyOf": [
      -                        {
      -                          "maximum": 86400,
      -                          "minimum": 0.000001,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "amps",
      -                    "seconds"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "type": "array"
      -              },
      -              "switching": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "signal",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "leg": {
      -                        "enum": [
      -                          "negative",
      -                          "positive"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "mode": {
      -                        "const": "fet",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode",
      -                      "leg"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "contactor",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "mode": {
      -                        "const": "relay",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "mode"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "unpublished": {
      -                "items": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxItems": 40,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "placement",
      -              "switching",
      -              "busSeparation"
      -            ],
      -            "type": "object"
      -          },
      -          "capacityAh": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "category": {
      -            "enum": [
      -              "battery",
      -              "charger",
      -              "solar",
      -              "source",
      -              "engine",
      -              "distribution",
      -              "load",
      -              "monitor"
      -            ],
      -            "type": "string"
      -          },
      -          "chargeAmpsTypical": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "chemistry": {
      -            "enum": [
      -              "lifepo4",
      -              "agm",
      -              "lead-acid",
      -              "gel"
      -            ],
      -            "type": "string"
      -          },
      -          "compatibleVoltages": {
      -            "items": {
      -              "maximum": 1000,
      -              "minimum": 0.01,
      -              "type": "number"
      -            },
      -            "maxItems": 20,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          "conversionEfficiency": {
      -            "maximum": 1,
      -            "minimum": 0.001,
      -            "type": "number"
      -          },
      -          "currentShunt": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "batteryTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "referenceTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "systemTerminalId": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "batteryTerminalId",
      -              "systemTerminalId"
      -            ],
      -            "type": "object"
      -          },
      -          "description": {
      -            "maxLength": 2000,
      -            "type": "string"
      -          },
      -          "dutyHoursPerDay": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "equipmentLimitExemption": {
      -            "enum": [
      -              "fuse",
      -              "busbar"
      -            ],
      -            "type": "string"
      -          },
      -          "fuseSlotType": {
      -            "enum": [
      -              "ATC",
      -              "MIDI",
      -              "MAXI",
      -              "MEGA",
      -              "ANL",
      -              "MRBF",
      -              "ClassT",
      -              "NH"
      -            ],
      -            "type": "string"
      -          },
      -          "height": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          },
      -          "hybridSourceOutputLimitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "id": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9_.-]+$",
      -            "type": "string"
      -          },
      -          "image": {
      -            "maxLength": 2048,
      -            "type": "string"
      -          },
      -          "inputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "interchangeableTerminalGroups": {
      -            "items": {
      -              "items": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "maxItems": 64,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "internalDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "isFuseBlock": {
      -            "type": "boolean"
      -          },
      -          "loadCurrentModel": {
      -            "enum": [
      -              "constant-current",
      -              "constant-power"
      -            ],
      -            "type": "string"
      -          },
      -          "manufacturer": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "maxChargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxDischargeA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "maxInputA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "model": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "name": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "oneWayDcConnections": {
      -            "items": {
      -              "additionalItems": false,
      -              "items": [
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                }
      -              ],
      -              "maxItems": 2,
      -              "minItems": 2,
      -              "type": "array"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "outputVoltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "peakSunHoursDefault": {
      -            "maximum": 24,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxSeriesFuseA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "pvMaxVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "pvVoc": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "renderVariant": {
      -            "enum": [
      -              "card",
      -              "switch",
      -              "busbar",
      -              "junction",
      -              "chassis-ground",
      -              "fuse-holder"
      -            ],
      -            "type": "string"
      -          },
      -          "settings": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "default": {
      -                  "type": "boolean"
      -                },
      -                "help": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "key": {
      -                      "maxLength": 160,
      -                      "type": "string"
      -                    },
      -                    "vars": {
      -                      "additionalProperties": {
      -                        "anyOf": [
      -                          {
      -                            "maxLength": 500,
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maximum": 1000000000,
      -                            "minimum": -1000000000,
      -                            "type": "number"
      -                          }
      -                        ]
      -                      },
      -                      "propertyNames": {
      -                        "maxLength": 100,
      -                        "minLength": 1,
      -                        "pattern": "^[A-Za-z0-9_.-]+$",
      -                        "type": "string"
      -                      },
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "key"
      -                  ],
      -                  "type": "object"
      -                },
      -                "semantics": {
      -                  "const": "disables-output",
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "toggle",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "type",
      -                "default"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 24,
      -            "type": "array"
      -          },
      -          "shortCircuitA": {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "shortName": {
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "simulateStates": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "default": {
      -                "maxLength": 100,
      -                "minLength": 1,
      -                "pattern": "^[A-Za-z0-9_.-]+$",
      -                "type": "string"
      -              },
      -              "options": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "ampMultiplier": {
      -                      "maximum": 100,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "ampOverride": {
      -                      "maximum": 100000,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "id": {
      -                      "maxLength": 100,
      -                      "minLength": 1,
      -                      "pattern": "^[A-Za-z0-9_.-]+$",
      -                      "type": "string"
      -                    },
      -                    "intraLinks": {
      -                      "items": {
      -                        "additionalItems": false,
      -                        "items": [
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          },
      -                          {
      -                            "maxLength": 100,
      -                            "minLength": 1,
      -                            "pattern": "^[A-Za-z0-9_.-]+$",
      -                            "type": "string"
      -                          }
      -                        ],
      -                        "maxItems": 2,
      -                        "minItems": 2,
      -                        "type": "array"
      -                      },
      -                      "maxItems": 64,
      -                      "type": "array"
      -                    },
      -                    "label": {
      -                      "maxLength": 120,
      -                      "type": "string"
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "draw",
      -                        "output"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "label"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 16,
      -                "minItems": 1,
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "default",
      -              "options"
      -            ],
      -            "type": "object"
      -          },
      -          "source": {
      -            "const": "ai",
      -            "type": "string"
      -          },
      -          "subtitle": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "terminals": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "color": {
      -                  "maxLength": 40,
      -                  "type": "string"
      -                },
      -                "direction": {
      -                  "enum": [
      -                    "input",
      -                    "output",
      -                    "bidi"
      -                  ],
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "^[A-Za-z0-9_.-]+$",
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "maxLength": 120,
      -                  "type": "string"
      -                },
      -                "maxAmp": {
      -                  "maximum": 100000,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "offset": {
      -                  "maximum": 1,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                "polarity": {
      -                  "enum": [
      -                    "positive",
      -                    "negative",
      -                    "ground",
      -                    "signal",
      -                    "neutral"
      -                  ],
      -                  "type": "string"
      -                },
      -                "side": {
      -                  "enum": [
      -                    "left",
      -                    "right",
      -                    "top",
      -                    "bottom"
      -                  ],
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "label",
      -                "polarity",
      -                "direction",
      -                "maxAmp",
      -                "side",
      -                "offset"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 64,
      -            "type": "array"
      -          },
      -          "voltage": {
      -            "maximum": 1000,
      -            "minimum": 0.01,
      -            "type": "number"
      -          },
      -          "watts": {
      -            "maximum": 10000000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "width": {
      -            "maximum": 10000,
      -            "minimum": 1,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "category",
      -          "terminals",
      -          "width",
      -          "height"
      -        ],
      -        "type": "object"
      -      },
      -      "definitionId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "dutyHoursPerDayOverride": {
      -        "maximum": 24,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "fuseAmp": {
      -        "anyOf": [
      -          {
      -            "maximum": 100000,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isFusebox": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "component",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "notes": {
      -        "maxLength": 8000,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "partEstimated": {
      -        "type": "boolean"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "provisional": {
      -        "type": "boolean"
      -      },
      -      "rotation": {
      -        "anyOf": [
      -          {
      -            "const": 0,
      -            "type": "number"
      -          },
      -          {
      -            "const": 90,
      -            "type": "number"
      -          },
      -          {
      -            "const": 180,
      -            "type": "number"
      -          },
      -          {
      -            "const": 270,
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      "settings": {
      -        "additionalProperties": {
      -          "type": "boolean"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "studCount": {
      -        "maximum": 64,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "terminalOverrides": {
      -        "additionalProperties": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "offset": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "pinned": {
      -              "type": "boolean"
      -            },
      -            "side": {
      -              "enum": [
      -                "left",
      -                "right",
      -                "top",
      -                "bottom"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "propertyNames": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "pattern": "^[A-Za-z0-9_.-]+$",
      -          "type": "string"
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "definitionId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "color": {
      -        "maxLength": 40,
      -        "type": "string"
      -      },
      -      "height": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      },
      -      "id": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "isEngineBay": {
      -        "type": "boolean"
      -      },
      -      "kind": {
      -        "const": "zone",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 200,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9_.-]+$",
      -        "type": "string"
      -      },
      -      "position": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "x": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          },
      -          "y": {
      -            "maximum": 1000000,
      -            "minimum": -1000000,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      "width": {
      -        "maximum": 1000000,
      -        "minimum": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "position",
      -      "kind",
      -      "width",
      -      "height"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "alwaysOnOverride": {
      +        "type": "boolean"
      +      },
      +      "batteryFuse": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ratingA": {
      +            "maximum": 100000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "type": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "ratingA"
      +        ],
      +        "type": "object"
      +      },
      +      "customDefinition": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "acVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "aiAssumptions": {
      +            "items": {
      +              "maxLength": 500,
      +              "type": "string"
      +            },
      +            "maxItems": 40,
      +            "type": "array"
      +          },
      +          "aiEstimatedFields": {
      +            "items": {
      +              "maxLength": 120,
      +              "type": "string"
      +            },
      +            "maxItems": 60,
      +            "type": "array"
      +          },
      +          "alwaysOn": {
      +            "type": "boolean"
      +          },
      +          "ampDraw": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampOutput": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "ampSurge": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "bms": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "alternatorControl": {
      +                "items": {
      +                  "enum": [
      +                    "charge-relay",
      +                    "ignition-cut",
      +                    "field-cut",
      +                    "can-regulator",
      +                    "current-limit"
      +                  ],
      +                  "type": "string"
      +                },
      +                "maxItems": 5,
      +                "type": "array"
      +              },
      +              "busSeparation": {
      +                "enum": [
      +                  "single",
      +                  "dual"
      +                ],
      +                "type": "string"
      +              },
      +              "chemistrySupport": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "cellsMax": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "cellsMin": {
      +                      "maximum": 1000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "chemistry": {
      +                      "enum": [
      +                        "lifepo4",
      +                        "li-ion",
      +                        "nmc",
      +                        "lto"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "chemistry",
      +                    "cellsMin",
      +                    "cellsMax"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "compatibleBatteryIds": {
      +                "items": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "continuousChargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "continuousDischargeA": {
      +                "maximum": 100000,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "controls": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "enum": [
      +                        "dry-contact",
      +                        "source",
      +                        "sink",
      +                        "opto"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "maxA": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "maxV": {
      +                      "maximum": 1000,
      +                      "minimum": 0.01,
      +                      "type": "number"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "charge-permit",
      +                        "discharge-permit",
      +                        "pre-alarm",
      +                        "alternator-field",
      +                        "heater",
      +                        "generic"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "kind"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "lowTempChargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "lowTempCutoffConfigurable": {
      +                "type": "boolean"
      +              },
      +              "lowTempDischargeCutoffC": {
      +                "maximum": 100,
      +                "minimum": -100,
      +                "type": "number"
      +              },
      +              "placement": {
      +                "enum": [
      +                  "internal",
      +                  "external"
      +                ],
      +                "type": "string"
      +              },
      +              "requiresExternalSwitchgear": {
      +                "type": "boolean"
      +              },
      +              "surge": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amps": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "seconds": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 86400,
      +                          "minimum": 0.000001,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "amps",
      +                    "seconds"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "type": "array"
      +              },
      +              "switching": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "signal",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "leg": {
      +                        "enum": [
      +                          "negative",
      +                          "positive"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "mode": {
      +                        "const": "fet",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode",
      +                      "leg"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "contactor",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "mode": {
      +                        "const": "relay",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "mode"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "unpublished": {
      +                "items": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxItems": 40,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "placement",
      +              "switching",
      +              "busSeparation"
      +            ],
      +            "type": "object"
      +          },
      +          "capacityAh": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "category": {
      +            "enum": [
      +              "battery",
      +              "charger",
      +              "solar",
      +              "source",
      +              "engine",
      +              "distribution",
      +              "load",
      +              "monitor"
      +            ],
      +            "type": "string"
      +          },
      +          "chargeAmpsTypical": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "chemistry": {
      +            "enum": [
      +              "lifepo4",
      +              "agm",
      +              "lead-acid",
      +              "gel"
      +            ],
      +            "type": "string"
      +          },
      +          "compatibleVoltages": {
      +            "items": {
      +              "maximum": 1000,
      +              "minimum": 0.01,
      +              "type": "number"
      +            },
      +            "maxItems": 20,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "conversionEfficiency": {
      +            "maximum": 1,
      +            "minimum": 0.001,
      +            "type": "number"
      +          },
      +          "currentShunt": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "batteryTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "referenceTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "systemTerminalId": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "batteryTerminalId",
      +              "systemTerminalId"
      +            ],
      +            "type": "object"
      +          },
      +          "description": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "dutyHoursPerDay": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "equipmentLimitExemption": {
      +            "enum": [
      +              "fuse",
      +              "busbar"
      +            ],
      +            "type": "string"
      +          },
      +          "fuseSlotType": {
      +            "enum": [
      +              "ATC",
      +              "MIDI",
      +              "MAXI",
      +              "MEGA",
      +              "ANL",
      +              "MRBF",
      +              "ClassT",
      +              "NH"
      +            ],
      +            "type": "string"
      +          },
      +          "height": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "hybridSourceOutputLimitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "id": {
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9_.-]+$",
      +            "type": "string"
      +          },
      +          "image": {
      +            "maxLength": 2048,
      +            "type": "string"
      +          },
      +          "inputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "interchangeableTerminalGroups": {
      +            "items": {
      +              "items": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "maxItems": 64,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "internalDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "isFuseBlock": {
      +            "type": "boolean"
      +          },
      +          "loadCurrentModel": {
      +            "enum": [
      +              "constant-current",
      +              "constant-power"
      +            ],
      +            "type": "string"
      +          },
      +          "manufacturer": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "maxChargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxDischargeA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "maxInputA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "model": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "name": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "oneWayDcConnections": {
      +            "items": {
      +              "additionalItems": false,
      +              "items": [
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "outputCurrentLimitsA": {
      +            "additionalProperties": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "propertyNames": {
      +              "maxLength": 100,
      +              "minLength": 1,
      +              "pattern": "^[A-Za-z0-9_.-]+$",
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "outputVoltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "peakSunHoursDefault": {
      +            "maximum": 24,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxSeriesFuseA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "pvMaxVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "pvVoc": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "renderVariant": {
      +            "enum": [
      +              "card",
      +              "switch",
      +              "busbar",
      +              "junction",
      +              "chassis-ground",
      +              "fuse-holder"
      +            ],
      +            "type": "string"
      +          },
      +          "settings": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "default": {
      +                  "type": "boolean"
      +                },
      +                "help": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "key": {
      +                      "maxLength": 160,
      +                      "type": "string"
      +                    },
      +                    "vars": {
      +                      "additionalProperties": {
      +                        "anyOf": [
      +                          {
      +                            "maxLength": 500,
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maximum": 1000000000,
      +                            "minimum": -1000000000,
      +                            "type": "number"
      +                          }
      +                        ]
      +                      },
      +                      "propertyNames": {
      +                        "maxLength": 100,
      +                        "minLength": 1,
      +                        "pattern": "^[A-Za-z0-9_.-]+$",
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "key"
      +                  ],
      +                  "type": "object"
      +                },
      +                "semantics": {
      +                  "const": "disables-output",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "toggle",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "type",
      +                "default"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 24,
      +            "type": "array"
      +          },
      +          "shortCircuitA": {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "shortName": {
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "simulateStates": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "default": {
      +                "maxLength": 100,
      +                "minLength": 1,
      +                "pattern": "^[A-Za-z0-9_.-]+$",
      +                "type": "string"
      +              },
      +              "options": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "ampMultiplier": {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "ampOverride": {
      +                      "maximum": 100000,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "id": {
      +                      "maxLength": 100,
      +                      "minLength": 1,
      +                      "pattern": "^[A-Za-z0-9_.-]+$",
      +                      "type": "string"
      +                    },
      +                    "intraLinks": {
      +                      "items": {
      +                        "additionalItems": false,
      +                        "items": [
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          },
      +                          {
      +                            "maxLength": 100,
      +                            "minLength": 1,
      +                            "pattern": "^[A-Za-z0-9_.-]+$",
      +                            "type": "string"
      +                          }
      +                        ],
      +                        "maxItems": 2,
      +                        "minItems": 2,
      +                        "type": "array"
      +                      },
      +                      "maxItems": 64,
      +                      "type": "array"
      +                    },
      +                    "label": {
      +                      "maxLength": 120,
      +                      "type": "string"
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "draw",
      +                        "output"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "label"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 16,
      +                "minItems": 1,
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "default",
      +              "options"
      +            ],
      +            "type": "object"
      +          },
      +          "source": {
      +            "const": "ai",
      +            "type": "string"
      +          },
      +          "subtitle": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "terminals": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "color": {
      +                  "maxLength": 40,
      +                  "type": "string"
      +                },
      +                "direction": {
      +                  "enum": [
      +                    "input",
      +                    "output",
      +                    "bidi"
      +                  ],
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "^[A-Za-z0-9_.-]+$",
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "maxLength": 120,
      +                  "type": "string"
      +                },
      +                "maxAmp": {
      +                  "maximum": 100000,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "offset": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "polarity": {
      +                  "enum": [
      +                    "positive",
      +                    "negative",
      +                    "ground",
      +                    "signal",
      +                    "neutral"
      +                  ],
      +                  "type": "string"
      +                },
      +                "side": {
      +                  "enum": [
      +                    "left",
      +                    "right",
      +                    "top",
      +                    "bottom"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label",
      +                "polarity",
      +                "direction",
      +                "maxAmp",
      +                "side",
      +                "offset"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 64,
      +            "type": "array"
      +          },
      +          "voltage": {
      +            "maximum": 1000,
      +            "minimum": 0.01,
      +            "type": "number"
      +          },
      +          "watts": {
      +            "maximum": 10000000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "width": {
      +            "maximum": 10000,
      +            "minimum": 1,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "category",
      +          "terminals",
      +          "width",
      +          "height"
      +        ],
      +        "type": "object"
      +      },
      +      "definitionId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "dutyHoursPerDayOverride": {
      +        "maximum": 24,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "fuseAmp": {
      +        "anyOf": [
      +          {
      +            "maximum": 100000,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isFusebox": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "component",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "notes": {
      +        "maxLength": 8000,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "partEstimated": {
      +        "type": "boolean"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "provisional": {
      +        "type": "boolean"
      +      },
      +      "rotation": {
      +        "anyOf": [
      +          {
      +            "const": 0,
      +            "type": "number"
      +          },
      +          {
      +            "const": 90,
      +            "type": "number"
      +          },
      +          {
      +            "const": 180,
      +            "type": "number"
      +          },
      +          {
      +            "const": 270,
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      "settings": {
      +        "additionalProperties": {
      +          "type": "boolean"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "studCount": {
      +        "maximum": 64,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "terminalOverrides": {
      +        "additionalProperties": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "offset": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "pinned": {
      +              "type": "boolean"
      +            },
      +            "side": {
      +              "enum": [
      +                "left",
      +                "right",
      +                "top",
      +                "bottom"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "propertyNames": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "pattern": "^[A-Za-z0-9_.-]+$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "definitionId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "color": {
      +        "maxLength": 40,
      +        "type": "string"
      +      },
      +      "height": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      },
      +      "id": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "isEngineBay": {
      +        "type": "boolean"
      +      },
      +      "kind": {
      +        "const": "zone",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9_.-]+$",
      +        "type": "string"
      +      },
      +      "position": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "x": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1000000,
      +            "minimum": -1000000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      "width": {
      +        "maximum": 1000000,
      +        "minimum": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "position",
      +      "kind",
      +      "width",
      +      "height"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedInput schema / properties / system / properties / version / const
      Previous value: -16New value: +17
  8. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already covering read-only/idempotent/non-destructive, the description adds real behavioral content: hard limits, strict validation (unknown fields, invalid references and other schema versions rejected), preservation of provisional currents/unknown fault protection/estimated inputs, and the caveat that 'no findings is not certification'. That is substantive beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose in the first sentence, then layers constraints and caveats in short declarative sentences. Every clause (limits, rejection rules, provisional/estimate preservation, certification caveat) carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex nested input with an output schema present, the description covers the input contract (version, strictness, size caps) and result interpretation caveats rather than re-explaining return values. The only real hole is the autoSizeTargetPct parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning. It gives good semantics for 'system' (must be explicit, version-matched, reference-valid, size-bounded), but says nothing about autoSizeTargetPct and its 3 vs 5 values, leaving one of only two parameters unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (Analyze) plus resource (an explicit current-schema System) plus the three things produced: canonical sizing, diagnostics and energy. It is clearly distinct from calculate_circuit and create_draft in spirit, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Sets a clear calling context: the input must be an explicit, current-schema System document, and 'No scenario sweep in v1' explicitly excludes what the tool will not do. It never names an alternative tool (e.g. calculate_circuit) for narrower single-circuit checks, so it stops short of full when-vs-alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources