Choose the result
Decide whether you need raw telemetry, latest values, alarms, portfolio health, billing evidence, invoices or a future forecast/tariff product.
Solar Gate
Please wait while we prepare the latest project information.
Solar Gate integration guide
The customer, vendor or chosen local technician provides lawful access to the existing data source. Solar Gate supplies the connection contract, normalization, secure ingestion, APIs, monitoring and commercial workflows online.
Physical wiring, network access, meter ownership and local electrical compliance remain the customer's or local contractor's responsibility. Solar Gate does not ask customers to expose field devices directly to the public internet.
End-to-end journey
Decide whether you need raw telemetry, latest values, alarms, portfolio health, billing evidence, invoices or a future forecast/tariff product.
Sign in, create a Sandbox client and generate an API key. The key is displayed once; store it in a server-side secret manager.
Use an existing vendor cloud, Home Assistant, a customer-managed HTTPS gateway, or a local Modbus/SunSpec/BACnet connector.
Register the connector type and obtain a separate connection key and ingest token. Developer API keys and ingestion tokens are never interchangeable.
Create the inverter, meter, battery, BMS controller or other device, then map its measurements to Solar Gate metric codes and engineering units.
Send UTC timestamped batches with stable device/point identifiers and idempotency keys. Review accepted, duplicated and rejected sample counts.
Grant the developer client access only to the required projects and scopes, then read normalized data through the Core, Telemetry, Operations or Commercial APIs.
Choose a paid module or bundle, complete payment/contract entitlement and run the production acceptance checklist before live credentials are enabled.
Connection requirements
Responsibility: The customer controls the gateway and sends normalized or mappable data. No inbound firewall port is normally required.
Responsibility: The adapter polls selected entities locally and sends mapped data. Solar Gate does not need direct access to the whole home or building network.
Responsibility: The customer or local technician supplies the official register map and provides local network access. Solar Gate validates the mapping remotely before data is accepted for billing.
Responsibility: The building owner or BMS integrator grants local read access. Solar Gate does not require a routine physical visit and does not bypass the BMS vendor's safety controls.
Responsibility: The customer connects the vendor account or supplies approved credentials through a secure flow. Passwords and API secrets must never be emailed to Solar Gate.
Responsibility: Coverage and collection cost differ by utility. Solar Gate will show whether the source is customer-uploaded, BYOK, partner-collected or unavailable before charging.
Responsibility: Solar Gate can calculate PPA, shared-savings, lease, O&M, EPC and monitoring invoices only after the evidence source and commercial terms are approved.
Responsibility: Do not design a production dependency on Solar Gate commands yet. The current release is deliberately read-only.
Normalization examples
The source name can differ, but the mapped meaning, unit and reading type must be explicit. A cumulative meter register must never be confused with instantaneous power.
| Meaning | Metric code | Unit | Reading type |
|---|---|---|---|
| Solar production energy | energy.production.total_kwh | kWh | cumulative |
| Grid import energy | energy.import.total_kwh | kWh | cumulative |
| Grid export energy | energy.export.total_kwh | kWh | cumulative |
| Active power | power.active.kw | kW | instantaneous |
| Battery state of charge | battery.soc.percent | % | instantaneous |
| Temperature | environment.temperature.c | °C | instantaneous |
| Equipment running | equipment.running | boolean | state |
Reading the API
curl \
-H "Authorization: Bearer sg_test_REPLACE_WITH_YOUR_KEY" \
-H "X-Request-ID: 8d3f4a0e-unique-request-id" \
https://<project-ref>.supabase.co/functions/v1/energy-developer-api/v1/sitesNever put a production developer key in browser JavaScript, a mobile application, a public repository or an email.
Sending telemetry
{
"batch_id": "stable-unique-batch-id",
"recorded_at": "2026-07-31T20:00:00Z",
"samples": [
{
"device_external_id": "meter-01",
"point_external_id": "import-kwh",
"value": 12540.8,
"quality": "valid"
}
]
}The connection ID and ingest token authenticate the data source. They do not grant access to read customer projects through the developer API.
Production acceptance