PWRcell 1 Guide
This guide covers first-generation PWRcell systems (abbreviated PC1) and how they differ from PWRcell 2 (PC2) in the API. If your integration needs to support PC1 sites, start here.
PC1 site access is available as a beta feature and must be explicitly opted into on each request. This gives you early access to explore the integration, test against real systems, and share feedback before general availability.
The behaviors described below apply only to PWRcell 1 systems, so your integration needs a
reliable way to tell PWRcell 1 apart from PWRcell 2 and PWRmicro before applying them. The
systemGeneration field on the site endpoints is the definitive signal. Review Identifying
System Generation alongside this guide.
PC1-specific endpoints and behaviors are not covered in the main API reference. This guide describes them in full.
DC-coupled vs. AC-coupled PWRcell 1 systems
Most PWRcell 1 systems are DC-coupled, meaning both solar and storage are served by the same inverter. For these systems, we supply solar and storage telemetry in DC rather than AC. This is described in its own section below (Telemetry: AC vs. DC).
Some PWRcell 1 systems are AC-coupled with third-party solar. The inverter that you see in the device list only serves the storage. We do not provide telemetry or device details for the third-party solar inverter or PV production.
PWRcell 2 systems are always AC-coupled.
How to enable PWRcell 1 site access
Include the following header on any request where you want PC1 site access enabled:
PwrApi-Version: 2026-01-01.preview
See examples below.
If breaking changes to PC1-specific parts of the API are
needed, a new API preview version will be issued, and 2026-01-01.preview
will be deprecated with advance notice. Non-breaking changes (e.g. new fields
in response payloads) may be rolled out to the existing preview version.
Differences
This section lists all the differences you'll see when you opt in to PC1 site access by passing the version header.
Site list filtering
By default, the site list endpoint only returns PC2 sites and sites with no systems. Sites with PC1 sites are excluded.
When you enable PC1 site access, PC1 sites appear in the response as well:
curl \
-H "Authorization: Bearer $TOKEN" \
-H "PwrApi-Version: 2026-01-01.preview" \
"https://pwrapi.generac.com/v1/sites"
System capabilities
This applies to the site list and site details endpoints, both of which
include the system-level capabilities object.
For PC1 systems:
solar.inverterType:GENERACmeans PVLink (DC-coupled solar) andTHIRD_PARTYmeans AC-coupled solar.solar.inverterCapacityPoweris alwaysnull, as there is no dedicated solar inverter in these systems.storageis populated as usual.
Example capabilities response from a PC1 system:
"capabilities": {
"solar": {
"inverterType": "GENERAC",
"inverterCapacityPower": null
},
"storage": {
"capacityEnergy": 18000,
"maxChargePower": 6700,
"maxDischargePower": 6700
}
},
Device classes
This applies to the site details endpoint.
The device classes that may appear in PC1 systems are listed below. Device classes exclusive to PC2 systems are omitted for brevity.
| Device class | PC1 | PC2 | Notes |
|---|---|---|---|
GATEWAY | Yes | Yes | For PC1, also known as the Beacon. |
INVERTER | Yes | Yes | For DC-coupled PC1, one inverter serves both solar and storage. |
BATTERY | Yes | Yes | Up to two batteries per system in both PC1 and PC2. |
PVLINK | Yes | No | Multiple PVLinks are common in a single system. |
METER | Yes | No | This is the RGM (revenue grade meter). |
Device state
In the site details endpoint, many of the device state fields for individual
devices will be null for PC1 systems. This is because most of these fields
only applicable to PC2 systems. For example, deviceState and enabledState
are PC2-specific concepts.
The following state fields are populated for PC1 systems:
lastHeardAthighestAlertSeverity- (for batteries)
stateOfCharge,stateOfHealthandmoduleCount
PVLINK and METER devices do not have any extra state fields.
Telemetry for sites with multiple systems
PC1 sites, unlike PC2 sites, may have multiple systems present. However, the
site telemetry endpoint only returns telemetry for a single system. The
telemetry of multiple systems is never aggregated. If you request telemetry
for a site that has multiple systems, it will return a 422 Unprocessable Content response. There is an optional query parameter called systemId
which allows you to target a specific system:
curl \
-H "Authorization: Bearer $TOKEN" \
-H "PwrApi-Version: 2026-01-01.preview" \
"https://pwrapi.generac.com/v1/sites/$SITE_ID/telemetry?systemId=$SYSTEM_ID&..."
Telemetry: AC vs. DC
For PC1 systems, solar and storage energy and power values in the site
telemetry response are DC measurements. For PC2, they are AC. grid and
consumption are AC in both cases.
For PC1 systems with AC-coupled (third-party) solar, the solar object will
be null.
Telemetry: connectivity status
For PC1 systems, grid.connectivityStatus field in the site telemetry
response is always null (unknown).
Inverter telemetry
Typical PC1 systems are DC-coupled, which means that storage and solar are
behind the same inverter, and separate solar and storage measurements are only
available as DC measurements. You can request AC-side inverter telemetry by
passing includeInverter=true to the site telemetry endpoint:
curl \
-H "Authorization: Bearer $TOKEN" \
-H "PwrApi-Version: 2026-01-01.preview" \
"https://pwrapi.generac.com/v1/sites/$SITE_ID/telemetry?includeInverter=true&..."
The response will include a fifth object, inverter, alongside the usual
grid, storage, consumption and solar:
{
"data": [
{
"startTime": "2026-04-12T15:59:59Z",
"endTime": "2026-04-12T16:04:59Z",
"grid": {
"energy": -496.6311,
"power": -5959.5733,
"exportedEnergy": 496.6311,
"importedEnergy": 0.0,
"lifetimeExportedEnergy": 34021016.0267,
"lifetimeImportedEnergy": 48720155.7378,
"connectivityStatus": null
},
"solar": {
"energy": 622.0,
"power": 7464.0,
"lifetimeEnergy": 43492719
},
"consumption": {
"energy": 97.1556,
"power": 1165.8667,
"lifetimeEnergy": 65763949.4267
},
"storage": {
"energy": -0.0044,
"power": -0.0533,
"dischargeEnergy": 0.0,
"chargeEnergy": 0.0044,
"lifetimeDischargeEnergy": 3084082.6578,
"lifetimeChargeEnergy": 3674098.9289,
"stateOfCharge": 97.6,
"remainingEnergy": 14634.1443,
"totalEnergy": 14994.0005,
"minimumReserve": 25
},
"inverter": {
"energy": -593.7867,
"power": -7125.44,
"exportedEnergy": 593.7867,
"importedEnergy": 0.0,
"lifetimeExportedEnergy": 52361060.3867,
"lifetimeImportedEnergy": 1296250.6711
}
},
...
RGM telemetry
RGM (revenue grade meter) devices transmit their own telemetry, which measures
the same thing as the inverter telemetry, but with higher accuracy. Not all
PC1 systems have an RGM installed. To determine whether a system has an RGM
installed, look for a METER-class device in the site details response.
Use GET /v1/sites/{siteId}/rgm-telemetry to retrieve RGM telemetry. It
accepts the same query parameters as the main site telemetry endpoint
(startTime, endTime, and optionally systemId). The response contains a
single sub-object, rgm, with the same fields as the inverter object
described above.
This endpoint returns no data ({"data":[]}) for systems without an RGM.
Note: PC2 systems are themselves revenue-grade and never include RGM devices.
curl \
-H "Authorization: Bearer $TOKEN" \
-H "PwrApi-Version: 2026-01-01.preview" \
"https://pwrapi.generac.com/v1/sites/$SITE_ID/rgm-telemetry?..."
{
"data": [
{
"startTime": "2026-04-12T15:59:59Z",
"endTime": "2026-04-12T16:04:59Z",
"rgm": {
"energy": -592.0,
"power": -7104.0,
"exportedEnergy": 592.0,
"importedEnergy": 0.0,
"lifetimeExportedEnergy": 46180188,
"lifetimeImportedEnergy": 1051613.0
}
},
...