Crimp
Server Details
Plan DC electrical systems: find components, calculate circuits, check designs and create drafts.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 82.1% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
The two catalog readers (search_components vs get_component) are cleanly separated by the descriptions, and calculate_circuit is clearly a single-circuit deterministic calculator. The only real overlap is between analyze_system and create_draft, since both produce analysis and review findings, but the input shapes (explicit schema vs catalog IDs) and outputs (findings vs reviewUrl) keep them distinguishable.
All five tools follow a strict verb_noun snake_case pattern: analyze_system, calculate_circuit, create_draft, get_component, search_components. The verbs are also semantically consistent (get/search for reads, create for construction, analyze/calculate for computation).
Five tools is well within the ideal 3-15 range and each covers a distinct capability: catalog lookup (two granularities), a unit calculator, a system analyzer, and a draft builder. Nothing looks redundant or padded for the scope of an electrical planning/analysis server.
Read coverage (search + get) and analysis coverage (system, circuit, draft) are solid, and the descriptions explicitly scope out saving/publishing. The remaining gaps are around lifecycle: there is no way to fetch or list an existing project/draft, and draft editing is delegated to the Crimp UI, which agents can work around but is a mild dead end.
Available Tools
5 toolsanalyze_systemARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| system | Yes | ||
| autoSizeTargetPct | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | No | |
| tool | Yes | |
| error | No | |
| metadata | Yes |
TDQS
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.
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.
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.
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.
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.
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.
calculate_circuitARead-onlyIdempotentInspect
Run the existing wire or DC-DC calculator deterministically. Every input field is required: use null for unknown numbers/options and an empty string for missing evidence. Unknown evidence stays unknown. kind=wire requires the wire input shape; kind=dc-dc requires the charger input shape. No fuse selection or installation certification.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| input | Yes | ||
| units | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | No | |
| tool | Yes | |
| error | No | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds real context beyond them: deterministic execution, the null-for-unknown / empty-string-for-missing-evidence convention, and that unknown evidence stays unknown rather than being inferred. The scope exclusion (no fuse selection or certification) further sets expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentences are front-loaded and dense, with the determinism claim first and the calling conventions following. Every clause carries information, though the null/empty-string rules could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. For a tool with two large nested input shapes, the description covers the calling convention well but says nothing about units handling or what the calculators actually derive, leaving some gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the meaning, and it does explain the critical null/empty-string convention and which shape each kind requires. It does not, however, clarify the semantics of the many individual fields (units, evidence fields, model limits), so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run the existing wire or DC-DC calculator deterministically') and distinguishes the two operating modes by kind. It does not explicitly differentiate itself from siblings like analyze_system, but the calculator purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'No fuse selection or installation certification' sets a boundary on what this tool will not do, and the kind=wire / kind=dc-dc mapping implies which mode to pick. However, there is no guidance on when to prefer this over analyze_system or the other siblings, so the when-to-use is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_draftARead-onlyIdempotentInspect
Build and analyze a Crimp planning draft from exact catalog IDs and structured connections, without an AI model call. Agent provides physical lengths and provenance; Crimp selects terminals, layout, wire and fuse suggestions. Display the exact returned reviewUrl as a clickable HTTPS link labeled Review schematic in Crimp; do not substitute a local HTML wrapper. The link opens a view-only preview; Edit a copy is a separate explicit action that creates a new local project. At most 10 counted equipment items, 40 components and 100 cables. Does not save, replace or publish a user's project. Retain assumptions and review findings before installation.
| Name | Required | Description | Default |
|---|---|---|---|
| draft | Yes | ||
| designProfileId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | No | |
| tool | Yes | |
| error | No | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: hard limits (10 equipment items, 40 components, 100 cables), the fact that it is a view-only preview, that 'Edit a copy' is a separate explicit action creating a new local project, and the requirement to use the exact returned reviewUrl as an HTTPS link. These details align with readOnlyHint/idempotentHint rather than repeating them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core capability, then limits, then the critical display instruction about reviewUrl, which is correctly ordered by operational importance. A few clauses (the local HTML wrapper warning, the Edit-a-copy aside) are wordy, but each carries real behavioral content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Coverage is strong for a complex mutation-shaped-but-read-only tool: size caps, non-persistence, preview semantics, and link handling are all stated, and an output schema exists so return values need not be described. The one material gap is the absence of any guidance on the optional designProfileId parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the payload is deeply nested, so the description must compensate; it partially does by indicating that the agent supplies physical lengths and provenance flags, mapping loosely to lengthM/lengthEstimated and partEstimated/countEstimated. Key inputs remain unexplained — designProfileId is undocumented anywhere, and seriesLink, marker, polarity, and ref-vs-catalogId semantics get no treatment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (build and analyze a Crimp planning draft) plus the discriminating mechanism: it works from exact catalog IDs and structured connections with no AI model call. That lets an agent separate it from analyze_system without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition (agent supplies physical lengths and provenance; Crimp does terminal/layout/wire/fuse selection) and an explicit boundary ('does not save, replace or publish a user's project'). It does not name analyze_system or search_components as the alternatives to prefer when catalog IDs are unknown, so routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_componentARead-onlyIdempotentInspect
Read one exact catalog component, including terminal IDs, electrical specs and known configuration. Catalog data does not verify an installed part or its protection evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| catalogId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | No | |
| tool | Yes | |
| error | No | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuine domain semantics beyond that: the returned data is catalog reference data, not verified installed-part or protection evidence, which affects how the agent should trust and cite it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and payload, followed immediately by the important limitation. No filler, no restatement of the tool name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail need not be repeated, and annotations cover the safety profile, so the description only needs purpose, payload and the catalog-vs-verification caveat — all present. The one gap is that catalogId's accepted format is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single catalogId parameter, but the description's 'one exact catalog component' implies an exact-ID (non-fuzzy) lookup, which is meaningful. It still adds no format, casing, or pattern guidance beyond what the schema's regex and maxLength already enforce, so this is baseline rather than compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read one exact catalog component') and enumerates the payload (terminal IDs, electrical specs, known configuration). The phrase 'one exact' implicitly contrasts with the sibling search_components, so an agent can distinguish single-ID lookup from search without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence draws a clear scope boundary: catalog data does not verify an installed part or its protection evidence, which tells the agent when this tool is the wrong evidence source. It stops short of naming the alternative tools (analyze_system, search_components) for those verification needs, so it is context without explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_componentsARead-onlyIdempotentInspect
Search Crimp's catalog by name, manufacturer, model, ID, subtitle or chemistry. Returns stable catalog IDs and published component data; use get_component for terminals and full fields. Read-only; no AI model call.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No | ||
| category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | No | |
| tool | Yes | |
| error | No | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds useful context that it returns stable catalog IDs and makes no AI model call, but it does not describe pagination behavior, empty-query behavior, or category filtering beyond what the schema implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with the core purpose front-loaded. Every clause contributes: search scope, return data, sibling alternative, and read-only/no-model-call behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations cover safety, the description provides enough context for selection and basic invocation. It could be slightly more complete by mentioning category filtering or pagination semantics, but those are standard and partly represented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 usefully explains that the query string searches fields such as name, manufacturer, model, ID, subtitle, and chemistry, but it does not explain limit, offset, or category filtering behavior; the category enum is self-describing in the schema, but the description leaves the other parameters largely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: searching Crimp's catalog for components. It also identifies searchable fields and explicitly distinguishes this tool from get_component, which handles terminals and full fields, so an agent can select between the two without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: search the catalog by identifying attributes. It explicitly names the alternative get_component and the condition for using it, namely when terminals or full component fields are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
analyze_system1 field changed- changed
Input schema / properties / system / properties / nodes / items / oneOfPrevious 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" + } +]
1 tool update
- Changed
create_draft2 fields changed- added
Input schema / properties / draft / properties / connections / items / properties / fromPort / descriptionAdded value: +"Select this part's circuit independently of cable direction. Engine positive connections require explicit \"input\" for the starter or \"output\" for the separate alternator connection; \"any\" is ambiguous. The shared engine ground may use \"any\". Also select explicit input/output for separate charger or converter circuits." - added
Input schema / properties / draft / properties / connections / items / properties / toPort / descriptionAdded value: +"Select this part's circuit independently of cable direction. Engine positive connections require explicit \"input\" for the starter or \"output\" for the separate alternator connection; \"any\" is ambiguous. The shared engine ground may use \"any\". Also select explicit input/output for separate charger or converter circuits."
2 tool updates
- Changed
analyze_system2 fields changed- added
Input schema / properties / system / properties / designProfileIdAdded value: +{ + "maxLength": 120, + "minLength": 1, + "type": "string" +} - changed
Input schema / properties / system / properties / version / constPrevious value: -20New value: +21
- Changed
create_draft1 field changed- added
Input schema / properties / designProfileIdAdded value: +{ + "maxLength": 100, + "minLength": 1, + "pattern": "^[A-Za-z0-9_.-]+$", + "type": "string" +}
1 tool update
- Changed
analyze_system1 field changed- changed
Input schema / properties / system / properties / version / constPrevious value: -19New value: +20
1 tool update
- Changed
analyze_system1 field changed- changed
Input schema / properties / system / properties / version / constPrevious value: -18New value: +19
1 tool update
- Changed
analyze_system1 field changed- changed
Input schema / properties / system / properties / nodes / items / oneOfPrevious 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" + } +]
1 tool update
- Changed
analyze_system3 fields changed- changed
Input schema / properties / system / properties / cables / items / properties / fuseTypeOverride / enumPrevious value: -[ - "ATC", - "MIDI", - "MAXI", - "MEGA", - "ANL", - "MRBF", - "ClassT", - "NH" -]New value: +[ + "ATC", + "MIDI", + "MAXI", + "MEGA", + "ANL", + "MRBF", + "ClassT", + "NH", + "gPV" +] - changed
Input schema / properties / system / properties / nodes / items / oneOfPrevious 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" + } +] - changed
Input schema / properties / system / properties / version / constPrevious value: -17New value: +18
1 tool update
- Changed
analyze_system2 fields changed- changed
Input schema / properties / system / properties / nodes / items / oneOfPrevious 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" + } +] - changed
Input schema / properties / system / properties / version / constPrevious value: -16New value: +17
5 tool updates
- First observed
analyze_system - First observed
calculate_circuit - First observed
create_draft - First observed
get_component - First observed
search_components
Related MCP Connectors
Generate 12V/24V/48V wiring diagrams and size wires, fuses, batteries, solar, and inverters.
Electrical single-line and multi-line diagrams: build, check (NF C 15-100, IEC 60364), draw, PDF.
Search real parts with datasheet-provenance specs, check compatibility and compose priced BOMs.
Design perfboard and stripboard layouts, check the wiring and get a link to open them in the editor.
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables building wire-connected native schematics, visually checking them, editing values, and running native frequency/transient analyses plus symbolic formulas and plots, with results saved as CSV/PNG and openable in the separately installed application.29MIT
- AlicenseAqualityDmaintenanceEnables Claude to size batteries, wire gauges, and fuses for 12V-48V electrical systems in boats, vans, and off-grid builds, and generates complete wiring diagrams as SVG or PNG.9304 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables source-preserving import and analysis of EPLAN export reports (devices, connections, PLC I/O, terminals, cables, parts, network, pages) as immutable queryable snapshots, plus inspection of DXF/PDF/DWG drawings and derivation of electrical project evidence. Works offline without EPLAN, supporting querying, duplicate/endpoint checks, revision comparison, and verified JSON export.MIT
- AlicenseNot gradedqualityAmaintenanceEnables an LLM agent to assemble, wire, run, fault and observe electromechanical motor-control circuits through 26 tools covering component placement, terminal connections, button/switch operation, fault injection, and simulation control. Also lets agents load and save circuits and generate PDF drawing sets, screenshots and scripted demo videos.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.