# EnergyPlanner — full description for AI agents ## Executive summary EnergyPlanner is a building electrical and energy-system planner developed by G.T. GmbH, Berlin. It takes an object from "house, 3 floors, 250 m²" to a complete package: distribution-board schematics, cable schedule, bill of materials, calculations and documents for the electrician (Elektrofachbetrieb) and the grid operator (Netzbetreiber). Object types: house, apartment, industrial hall. The pilot object is a private house; the product target is planning the bundle heat pump + battery + inverter + energy management system that G.T. GmbH sells. Design principle: **one data model (JSON) — everything else is derived.** Drawings, tables, calculations, exports and the API only read and write the model. ## Users | Role | What they do | |---|---| | Owner / client | enters the building, draws rooms, places consumers, compares variants | | AI assistant (Claude and others) | selects components from catalogs, fills the model, checks rules, explains | | Electrician / Fachbetrieb | receives schematics, cable schedule, BOM, test protocols; enters measurements | | External programs | read the model through the API (calculation, CAD, EMS) | ## Stage 0 (live now) - `GET /api/v1/projects` — list - `GET /api/v1/projects/{id}` — full model - `PUT /api/v1/projects/{id}` — replace (bearer token) - `PATCH /api/v1/projects/{id}` — RFC 6902 JSON-Patch (bearer token) — the intended agent edit path - `GET /api/v1/projects/{id}/violations` — invariant warnings - `GET /api/v1/schema` — JSON Schema - `GET /api/v1/events` — Server-Sent Events, `model:changed {id, revision}` - `GET /openapi.json` — OpenAPI 3.1 Invariants enforced on every write: all references resolve (I1), ids unique (I2), point's room is on the point's floor (I3); a point outside its room polygon is a warning (I4), not a rejection. ## Model (stage 0) Project { meta{id,name,address,bauherr,ausgabe,stand,norm}, netz{un_V,u0_V,sls_A,ina_A,ik_max_kA,form}, gehaeuse{article,b_mm,h_mm,t_mm,ebenen[{id,y_mm}],felder[{id,x_mm}],gesperrt[],te_mm,kopf_y_mm}, thermik{tamb_C,dt_mid_K,dt_top_K,grenze_W}, derating{}, knoten[], geraete[], leiter[], konstanten{} } building { type:haus|wohnung|halle, address, lat, lon, construction:holz|massiv, grid{phases, sls_A, ik_kA} } geraet { bmk, article, maker, name, te, ebene, x_mm, tmax_C, verlust{}, schutz{}, icn_kA|icu_kA|inc_kA, src } leiter { id, von, nach, typ, s_mm2, l_m, last_A?, phasen?, betrieb?, src } room { id, name, polygon[[x,y]...], wet, sleeping } point { id, room, xy, kind, power_W{v,src}, phases:1|3, backup, priority:1|2|3, circuit? } board { id, name, floor, xy } circuit { id, board, name, phase:L1|L2|L3|3~, mcb_A{v,src}, rcd:none|30mA|rcbo|afdd } status { open[{id,text,date}], decisions[{id,text,date,by}] } Point kinds: steckdose, licht, herd, backofen, spuelmaschine, waschmaschine, trockner, boiler, wp (heat pump), wallbox, fancoil, lueftung, server, aussen, sonstig. ## Roadmap 1. Boards — automatic board composition, RCD/AFDD grouping rules, rows and modules, wiring diagram, BOM 2. Plan and routes — floor-plan editor (three.js), cable routes, lengths, voltage drop 3. Generation — PV layout, PVGIS forecast, battery, inverter, hourly balance 4. Documents — German document package (Projektmappe): Deckblatt, Inhaltsverzeichnis, Erläuterungsbericht, Lastbilanz, Übersichtsschaltplan, Verdrahtungspläne, Stromkreis-/Kabelliste, Grundrisse, Stückliste, PV-Unterlagen, Prüfprotokoll-Vorlage, Anhang 5. 3D and external agents — three.js, agent API, webhooks Standards referenced by the rule engine (later stages): DIN 18015-1, DIN VDE 0100-410/420/600, DIN VDE 0298-4, VDE-AR-N 4100, DIN EN 61439-3, IEC/TR 60890. ## Legal EnergyPlanner is a planning tool. Sign-off, Stückprüfung and grid registration are performed by the Elektrofachbetrieb. This notice appears in the UI and in every generated document. ## Company G.T. GmbH · Klingsorstraße 105 b, 12203 Berlin, Germany · VAT DE365568840 · https://gtlab.org · ione@gtmail.ai ## Kurzfassung (DE) EnergyPlanner ist ein Planungswerkzeug für die Elektro- und Energieanlage eines Gebäudes von der G.T. GmbH, Berlin. Ein JSON-Modell des Gebäudes (Geschosse, Räume, Verbraucher, Verteiler, Stromkreise) liefert Verteilerpläne, Kabellisten, Stückliste, PV-Prognose und eine Projektmappe für Elektrofachbetrieb und Netzbetreiber. KI-Agenten lesen das Modell und schlagen Änderungen als JSON-Patch vor; jede Änderung wird gegen Schema und Regeln geprüft. Abnahme, Stückprüfung und Anmeldung erfolgen durch den Elektrofachbetrieb. ## Interior library and canvas (v1) The floor-plan editor includes 43 original parametric furniture and equipment assets and a dedicated 2D render with PNG/SVG export. Read `/api/v1/interior` for the versioned catalog and stable rule IDs, and `/api/v1/schema` for the optional `gebaeude.etagen[].moebel` array. Furniture uses metres, centre coordinates, y up and counter-clockwise quarter turns. Bed presets describe sleeping dimensions; the physical envelope includes the catalog frame. Presets are design defaults, not regulatory standards. Furniture mutations use the project PATCH endpoint with existing bearer authorization. Include an RFC 6902 `test` of the current furniture list before replacing it. The server rejects invalid dimensions, unknown references and envelopes outside the actual floor contour; overlaps and wall intersections produce review warnings. Furniture never moves electrical points. Rules and catalog are versioned independently from model training; synthetic examples require review before entering a training dataset. Interior catalog 1.1 adds gym equipment, fireplaces, kitchen/laundry, storage and office equipment. Version 1.0 furniture remains supported. Room-purpose suggestions may use room names to refine generic legacy types; suggestions never change project room types. Floor materials in rendered images are illustrative, not surveyed facts.