Skip to main content

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.

Beta feature

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: GENERAC means PVLink (DC-coupled solar) and THIRD_PARTY means AC-coupled solar.
  • solar.inverterCapacityPower is always null, as there is no dedicated solar inverter in these systems.
  • storage is 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 classPC1PC2Notes
GATEWAYYesYesFor PC1, also known as the Beacon.
INVERTERYesYesFor DC-coupled PC1, one inverter serves both solar and storage.
BATTERYYesYesUp to two batteries per system in both PC1 and PC2.
PVLINKYesNoMultiple PVLinks are common in a single system.
METERYesNoThis 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:

  • lastHeardAt
  • highestAlertSeverity
  • (for batteries) stateOfCharge, stateOfHealth and moduleCount

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
}
},
...