Repository navigation
Conversation
Field definitions live in srcful-data-models (v2.0.0) and DER/device types in the device-support API. Replace the stale telemetry tables (pv, v2x_charger, connector_status) with a link and a rule summary, and move the hierarchy from Wallet to Organization -> Site -> Device -> DER. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
srcful-data-models 2.1.0 adds the inverter DER type (the inverter's AC output), registered in NovaCore alongside solar, battery, meter and ev_charger_port. Drop the "inverter AC side is a meter DER" mapping, list inverter among the DER types, and add its sign row (+ absorbing AC / - delivering AC). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v3.0.0 names quantities that can be AC or DC with a lowercase _ac/_dc postfix (W_ac, W_dc, total_charge_Wh_dc, ...), sends both when both are measured, requires at least one of W_ac/W_dc, and uses power_W_dc / actual_power_W_dc for control. Replace the earlier bare-names rule, restate the sign convention (+ import / - export seen from the DER), and note NovaCore still accepts bare names for now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every field is always present and an unread value is null, never 0. Everything that is not a unit is lowercase (soc_nom_fract, l1_V) while units keep physical casing (W, Wh, VA, var). No aliases: consumers move to the 3.0 names; NovaCore ingest still accepts the old names for now. W_ac/W_dc is required for solar, battery, inverter and meter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
miravoss26
left a comment
There was a problem hiding this comment.
Mira's review (pr-steward sweep).
Summary: moves the telemetry field definitions out of this page into srcful-data-models v3.0.0, and renames WALLET to ORGANIZATION in the hierarchy and examples. Docs only, no code.
Findings:
- Medium: the links point to
github.com/srcfl/srcful-data-models. From my account that repo doesn't resolve. This repo is public, so if that repo is private or not created yet, the links are dead on the public docs. Please confirm it exists, is public, and has the v3.0.0 tag on main before merge. - Low: WALLET to ORGANIZATION is a user-facing term change. I only checked this PR, not the rest of the docs or the API reference. Worth a grep for "wallet" elsewhere.
Safe to merge from my read, once the link target is confirmed. Comment only: this repo isn't on the steward's merge allowlist.
srcful-data-models v3.0.0 merged on main with an _ac/_dc postfix on every W, V, A and Wh field, even where only one side is possible (l1_V_ac, mppt1_V_dc, capacity_Wh_dc, installed_power_W_dc). Only Hz, VA and var have none. Update the rule summary and examples. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The data model is published as v2 on main, not v3. Cite v2, and describe the final contract: json.v2 subjects next to the legacy json.v1 with no translation between them, the DER type as the default topic segment (solar, was pv), an _ac/_dc postfix on every W/V/A/VA/Wh field with only Hz left bare, reactive_VA_ac and apparent_VA_ac, the inverter DER as the AC output stage only, the electrical definitions, and v: 2 control with power_W_dc and actual_power_W_dc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Point to the data-models README/REFERENCE for the rules instead of copying them; keep the hierarchy, a short summary and the sign table. Control acks executed/nack/failed and NovaCore's command status from the final ack. Example DER names are the v2 defaults. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
miravoss26
left a comment
There was a problem hiding this comment.
Docs-only: replaces the duplicated DER field tables with links to srcful-data-models (v2, 2.3.0) and renames WALLET → ORGANIZATION in the hierarchy diagram, consistent with the body's stated identity model. Checked the new field tables against what's quoted (sign convention, v2 subject naming, null-never-0, ack states) — internally consistent, no drift introduced. Private-repo 404 on the data-models links for public readers is called out and accepted.
No correctness or security issues — pure markdown, no code, no secrets.
Safe to merge from my read, but the PR's own note holds the gate: merge after the v2 rollout, David's call on timing.
What
DER field definitions have one owner: srcful-data-models (names, units, sign, SoC window, derived values, control command and ack). DER and device types are owned by the device-support API (
GET /der-types,GET /device-types). This page had drifted from both, so it now links instead of copying.docs/technical/data-models.md: hierarchy kept (gateway-neutral wording, v2 default DER names in the example). The field tables, examples, naming rules and electrical definitions are replaced by links to the data-models README anddocs/REFERENCE.md, a four-line summary (versionedjson.v2subjects,nullnever 0,v: 2control with ackexecuted/nack/failedand NovaCore's command status from the final ack) and the sign table.docs/technical/ems.md,docs/technical/hardware/README.md: link text only.The data-models repo is private, so its links return 404 publicly; that is accepted.
🤖 Generated with Claude Code