Data Access API (OAuth2.0)
Data Access API provides data query interfaces for inverters, collectors, EPMs, weather stations, and plants. This document describes the interfaces using OAuth2.0 Authorization (Bearer Token).
| Item | Description |
|---|---|
| API Base URL | https://api-oauth2.soliscloud.com/ |
| Authentication | OAuth2.0 Bearer Token |
Common Response Format
All interfaces return a unified JSON structure:
{
"success": true,
"code": "0",
"msg": "success",
"data": { }
}| Field | Type | Description |
|---|---|---|
| success | boolean | true for success, false for failure |
| code | string | "0" for success, others for failure (see appendix) |
| msg | string | Description of the code value |
| data | object/array | Specific business data |
Pagination
Data access interfaces use cursor-based pagination:
| Item | Description |
|---|---|
| Ordering | Always ascending by the interface-specific business primary key id (see the minId description of each interface) |
| First request | Omit minId to start from the smallest id |
| Next page | Pass minId = last record's id + 1 (the boundary is inclusive; passing the last record's id will return that record again) |
| Page size | pageSize, default 20, maximum 100 |
| More pages? | If the number of returned records equals pageSize, more pages may exist; fewer means you have reached the end |
| total | Always 0; the real total is no longer returned |
Rate Limits
| Interface Type | Limit |
|---|---|
| Data acquisition interfaces | 10 times/second |
| Device data upload frequency | 5 minutes |
TIP
If rate limits cannot meet your business needs, please refer to Real-time Data Forwarding to switch to queue data forwarding.
Authentication
See Authorization for authentication details.
Request headers require OAuth2.0 Bearer Token:
| Header Parameter | Description |
|---|---|
| Content-Type | application/json;charset=UTF-8 |
| Authorization | Bearer {access_token} |
Interface List
Inverter Interfaces
| Interface | Path | Description |
|---|---|---|
| Inverter List | inverterList | Get inverter list under account |
| Inverter Detail | inverterDetail | Get single inverter detail |
| Inverter Day Data | inverterDay | Get single inverter daily real-time data |
| Inverter Month Data | inverterMonth | Get single inverter monthly daily data |
| Inverter Year Data | inverterYear | Get single inverter yearly monthly data |
| Inverter All Data | inverterAll | Get single inverter cumulative data |
| Inverter Warranty | inverter/shelfTime | Get inverter warranty data |
| Alarm List | alarmList | Get device alarm list |
Collector Interfaces
| Interface | Path | Description |
|---|---|---|
| Collector List | collectorList | Get collector list under account |
| Collector Detail | collectorDetail | Get single collector detail |
| Collector Signal | collector/day | Get collector signal values |
EPM Interfaces
| Interface | Path | Description |
|---|---|---|
| EPM List | epmList | Get EPM list under account |
| EPM Detail | epmDetail | Get single EPM detail |
| EPM Day Data | epm/day | Get single EPM daily data |
| EPM Month Data | epm/month | Get single EPM monthly data |
| EPM Year Data | epm/year | Get single EPM yearly data |
| EPM All Data | epm/all | Get single EPM cumulative data |
Weather Station Interfaces
| Interface | Path | Description |
|---|---|---|
| Weather Station List | weatherList | Get weather station list |
| Weather Station Detail | weatherDetail | Get single weather station detail |
Plant Interfaces
| Interface | Path | Description |
|---|---|---|
| Plant List | userStationList | Get plant list under account |
| Plant Detail | stationDetail | Get single plant detail |
| Plant Day Energy List | stationDayEnergyList | Get multiple plants daily data |
| Plant Month Energy List | stationMonthEnergyList | Get multiple plants monthly data |
| Plant Year Energy List | stationYearEnergyList | Get multiple plants yearly data |
| Plant Day Data | stationDay | Get single plant daily real-time data |
| Plant Month Data | stationMonth | Get single plant monthly daily data |
| Plant Year Data | stationYear | Get single plant yearly monthly data |
| Plant All Data | stationAll | Get single plant cumulative data |
Inverter Interface Details
Get Inverter List
Get inverter list under the account, up to 100 devices per call.
Endpoint: POST /api/access_data/inverterList
Request Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| stationId | Integer | No | Plant ID. Empty for all inverters |
| plantId | String | No | Plant code, available from plant list or data forwarding. Same effect as stationId |
| nmiCode | String | No | NMI code (Australia only) |
| snList | Array | No | Batch SN query. Empty for all inverters |
| minId | Long | No | Starting ID (inclusive); paging is ordered by inverter_id ascending. Omit to start from the smallest ID. |
Response Parameters (data):
| Parameter | Type | Description |
|---|---|---|
| page | Object | Pagination result |
| page.total | Integer | Always 0 (cursor pagination does not return the real total) |
| page.records | Array | Inverter list |
| inverterStatusVo | Object | Inverter status statistics |
| inverterStatusVo.all | Integer | Total inverters |
| inverterStatusVo.normal | Integer | Normal count |
| inverterStatusVo.offline | Integer | Offline count |
| inverterStatusVo.fault | Integer | Fault count |
records fields:
| Parameter | Type | Description |
|---|---|---|
| id | Number | Inverter ID |
| sn | String | Inverter SN |
| stationId | Integer | Plant ID |
| stationName | String | Plant name |
| power | String | Installed capacity |
| powerStr | String | Capacity unit |
| etoday | Number | Today's energy |
| etodayStr | Number | Energy unit |
| etotal | Number | Total energy |
| etotalStr | Number | Total energy unit |
| fullHour | Number | Full load hours |
| pac | Number | Power |
| pacStr | Number | Power unit |
| state | Integer | Status: 1=online, 2=offline, 3=alarm |
| dataTimestamp | Integer | Update time |
| collectorSn | String | Collector SN |
| productModel | String | Inverter type |
| dcInputType | Integer | DC input channels (value+1=actual) |
| acOutputType | Integer | AC output type: 0=single phase, other=three phase |
| inverterMeterModel | Integer | Inverter meter type, see Appendix 3 |
Get Inverter Detail
Endpoint: POST /api/access_data/inverterDetail
Request Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Number | No | Inverter ID, id and sn cannot both be empty |
| sn | String | No | Inverter SN |
Response Parameters (data): Includes all list fields plus:
| Parameter | Type | Description |
|---|---|---|
| eToday/eMonth/eYear/eTotal | Number | Today/Month/Year/Total energy |
| fac | Number | Grid frequency |
| pac | Number | Real-time power |
| iAc1/iAc2/iAc3 | Number | AC current R/S/T |
| uAc1/uAc2/uAc3 | Number | AC voltage R/S/T |
| iPv1~iPv32 | Number | DC current 1~32 |
| uPv1~uPv32 | Number | DC voltage 1~32 |
| batteryCapacitySoc | Number | Battery SOC |
| batteryPower | Number | Battery power |
| batteryCapacity | Number | Battery capacity |
| gridPurchasedTodayEnergy | Number | Today's grid purchased energy |
| gridSellTodayEnergy | Number | Today's grid sold energy |
| familyLoadPower | Number | Home load power |
| pSum | Number | Grid total active power |
| inverterMeterModel | Integer | Meter type, see Appendix 3 |
| type | Integer | Inverter type: 1=grid-tied, 2=energy storage |
| hmiVersionAll | String | Full HMI version |
Inverter Day/Month/Year/All Data
Inverter Day Data
Endpoint: POST /api/access_data/inverterDay
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Number | No | Inverter ID |
| sn | String | No | Inverter SN |
| money | String | Yes | Currency unit, e.g. CNY |
| time | String | Yes | Date, format yyyy-MM-dd |
| timeZone | Integer | Yes | Plant timezone |
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| dataTimestamp | Integer | Update time |
| timeStr | String | Time string |
| pac | Number | Power |
| eToday | Number | Today's energy |
| eTotal | Number | Total energy |
| uPv1~uPv4 | Number | DC voltage 1~4 |
| iPv1~iPv4 | Number | DC current 1~4 |
| batteryCapacitySoc | Number | Battery SOC |
| batteryPower | Number | Battery power |
Inverter Month Data
Endpoint: POST /api/access_data/inverterMonth
| Parameter | Type | Required | Description |
|---|---|---|---|
| id/sn | - | No | Inverter ID or SN |
| money | String | Yes | Currency unit |
| month | String | Yes | Month, format yyyy-MM |
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| energy | Number | Energy |
| energyStr | String | Energy unit |
| date | String | Date |
| money | Number | Revenue |
| moneyStr | String | Revenue unit |
| batteryDischargeEnergy | Number | Battery discharge energy |
| batteryChargeEnergy | Number | Battery charge energy |
| gridPurchasedEnergy | Number | Grid purchased energy |
| gridSellEnergy | Number | Grid sold energy |
Inverter Year Data
Endpoint: POST /api/access_data/inverterYear
| Parameter | Type | Required | Description |
|---|---|---|---|
| id/sn | - | No | Inverter ID or SN |
| money | String | Yes | Currency unit |
| year | String | Yes | Year, format yyyy |
Response Parameters (data array): Same as month data.
Inverter All Data
Endpoint: POST /api/access_data/inverterAll
| Parameter | Type | Required | Description |
|---|---|---|---|
| id/sn | - | No | Inverter ID or SN |
| money | String | Yes | Currency unit |
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| year | String | Year |
| energy | Number | Energy |
| batteryDischargeEnergy | Number | Battery discharge energy |
| batteryChargeEnergy | Number | Battery charge energy |
| gridPurchasedEnergy | Number | Grid purchased energy |
| gridSellEnergy | Number | Grid sold energy |
Get Inverter Warranty Data
Endpoint: POST /api/access_data/inverter/shelfTime
| Parameter | Type | Required | Description |
|---|---|---|---|
| sn | String | No | Single or multiple SNs, comma-separated, max 1000 |
| minId | Long | No | Starting ID (inclusive); paging is ordered by id ascending. Omit to start from the smallest ID. |
Response Parameters (data.page.records):
| Parameter | Type | Description |
|---|---|---|
| id | Number | Inverter ID |
| sn | String | Inverter SN |
| shelfBeginTime | String | Warranty start time |
| shelfEndTime | String | Warranty end time |
| shelfTime | String | Warranty duration |
| shelfState | Integer | Warranty state: 0=warranty, 1=expired |
Get Alarm List
Endpoint: POST /api/access_data/alarmList
| Parameter | Type | Required | Description |
|---|---|---|---|
| stationId | Integer | No | Plant ID |
| plantId | String | No | Plant code, same effect as stationId |
| alarmDeviceSn | String | No | Inverter SN |
| alarmBeginTime | String | No | Start date, yyyy-MM-dd |
| alarmEndTime | String | No | End date, yyyy-MM-dd |
| nmiCode | String | No | NMI code |
| State | Integer | No | 0=unprocessed, 1=processed, 2=recovered |
| minId | Long | No | Starting ID (inclusive); paging is ordered by alarmId ascending. Omit to start from the smallest ID. |
Response Parameters (data.page.records):
| Parameter | Type | Description |
|---|---|---|
| stationId | Integer | Plant ID |
| stationName | String | Plant name |
| alarmDeviceSn | String | Alarm device SN |
| alarmCode | String | Alarm code |
| alarmLevel | Integer | Alarm level: 1=info, 2=normal, 3=urgent |
| alarmBeginTime | String | Alarm start time |
| alarmEndTime | String | Alarm end time |
| alarmMsg | String | Alarm message |
| advice | String | Handling advice |
| state | Integer | State: 0=unhandled, 1=handled, 2=recovered |
| warningInfoData | Object | Alarm extended data |
Collector Interface Details
Get Collector List
Parameters: stationId, plantId, nmiCode, minId (starting ID, inclusive; paging is ordered by collector_id ascending).
Endpoint: POST /api/access_data/collectorList
Response Parameters:
| Parameter | Type | Description |
|---|---|---|
| collectionStatusVo | Object | Collector status stats: all/normal/offline/fault |
| page.records | Array | Collector list |
records fields:
| Parameter | Type | Description |
|---|---|---|
| id | Number | Collector ID |
| sn | String | Collector SN |
| stationId | Integer | Plant ID |
| model | String | Collector model |
| name | String | Collector name |
| rssiLevel | Integer | Signal strength level |
| state | Integer | State: 1=online, 2=offline, 3=alarm |
| dataTimestamp | Integer | Update time |
| contractTime | String | Contract time |
Get Collector Detail
Parameters: id or sn (cannot both be empty).
Endpoint: POST /api/access_data/collectorDetail
Response Parameters:
| Parameter | Type | Description |
|---|---|---|
| id | Number | Collector ID |
| sn | String | Collector SN |
| stationId | Integer | Plant ID |
| state | Integer | State: 1=online, 2=offline, 3=alarm |
| model | String | Collector model |
| rssiLevel | Integer | Signal strength level |
| maximumNumber | Integer | Max connected devices |
| actualNumber | Integer | Actual connected devices |
| currentWorkingTime | Integer | Current working time |
| totalWorkingTime | Integer | Total working time |
| dataUploadCycle | Integer | Data upload cycle |
| factoryTime | String | Factory time |
| contractTime | String | Contract time |
Get Collector Signal Values
Parameters: sn, time (yyyy-MM-dd), timeZone.
Endpoint: POST /api/access_data/collector/day
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| collectorId | Number | Collector ID |
| collectorSn | String | Collector SN |
| dataTimestamp | Integer | Update time |
| timeStr | String | Time string |
| pec | Number | Signal percentage (%) |
| rssi | Number | Signal strength |
| rssiLevel | Integer | Signal strength level |
EPM Interface Details
Get EPM List
Parameters: stationId, plantId, nmiCode, minId (starting ID, inclusive; paging is ordered by epm_id ascending).
Endpoint: POST /api/access_data/epmList
Response Parameters (data.page.records):
| Parameter | Type | Description |
|---|---|---|
| id | Number | EPM ID |
| sn | String | EPM SN |
| collectorId | Number | Collector ID |
| collectorSn | String | Collector SN |
| stationId | Integer | Plant ID |
| state | Integer | State: 1=online, 2=offline, 3=alarm |
| dataTimestamp | Integer | Update time |
| failSafe | Integer | Fail-safe |
| pEpmTotal | Number | EPM total power |
| pEpmTotalStr | String | Total power unit |
| eTotalBuy | Number | Total purchased energy |
| eTotalBuyStr | String | Purchased energy unit |
| eTotalSell | Number | Total sold energy |
| eTotalSellStr | String | Sold energy unit |
Get EPM Detail
Parameters: sn (required).
Endpoint: POST /api/access_data/epmDetail
Response Parameters: list fields plus:
| Parameter | Type | Description |
|---|---|---|
| empSoftwareVersion | String | EPM software version |
| pLimit | Number | Power limit |
| ctRatio | Number | CT ratio |
| pSet | Number | Power setting |
| pInverterTotal | Number | Total inverter power |
| eToaalInverter | Number | Total inverter energy |
| pLoad | Number | Total load power |
| eTotalLoad | Number | Total load energy |
| iAc1/iAc2/iAc3 | Number | AC current R/S/T |
| uAc1/uAc2/uAc3 | Number | AC voltage R/S/T |
| pAc1/pAc2/pAc3 | Number | Active power R/S/T |
| powerFactor | Number | Grid power factor |
| facMeter | Number | Grid frequency |
Get EPM Day Data
Endpoint: POST /api/access_data/epm/day
| Parameter | Type | Required | Description |
|---|---|---|---|
| sn | String | Yes | EPM SN |
| searchinfo | String | Yes | Query fields, comma-separated |
| time | String | Yes | Date, yyyy-MM-dd |
| timeZone | Number | Yes | Plant timezone |
searchinfo field mapping:
| searchinfo | Response field | Description |
|---|---|---|
| u_ac1/u_ac2/u_ac3 | uAc1/uAc2/uAc3 | AC voltage U/V/W |
| i_ac1/i_ac2/i_ac3 | iAc1/iAc2/iAc3 | AC current U/V/W |
| p_ac1/p_ac2/p_ac3 | pAc1/pAc2/pAc3 | Active power U/V/W |
| power_factor | powerFactor | Grid power factor |
| fac_meter | facMeter | Grid frequency |
| p_load | pLoad | Total load power |
| e_epm_total | pEpmTotal | EPM total power |
| e_total_buy | eTotalBuy | Grid purchased energy |
| e_total_sell | eTotalSell | Grid sold energy |
EPM Month/Year/All Data
Endpoint: POST /api/access_data/epm/monthEndpoint: POST /api/access_data/epm/yearEndpoint: POST /api/access_data/epm/all
| Interface | Parameters |
|---|---|
| EPM Month | sn, month (yyyy-MM) |
| EPM Year | sn, year (yyyy) |
| EPM All | sn |
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| date | String | Date (month data) |
| year | String | Year (year data) |
| energy | Number | Energy |
| epmSellEnergy | Number | EPM sold energy |
| epmBuyEnergy | Number | EPM purchased energy |
Weather Station Interface Details
Get Weather Station List
Parameters: stationId, plantId, nmiCode, minId (starting ID, inclusive; paging is ordered by weather_id ascending).
Endpoint: POST /api/access_data/weatherList
Response Parameters (data.page.records):
| Parameter | Type | Description |
|---|---|---|
| id | Number | Weather station ID |
| collectorSn | String | Collector SN |
| name | String | Weather station name |
| weatherModel | Integer | Weather model: 1=Jinzhou Yangguang, 2=Jinzhou Licheng |
| stationId | Integer | Plant ID |
| state | Integer | State: 1=online, 2=offline, 3=alarm |
| dataTimestamp | Integer | Update time |
| totalR | Number | Total radiation (W/㎡) |
| directR | Number | Direct radiation |
| scatteredR | Number | Scattered radiation |
| sunshineTim | Number | Sunshine time (m) |
| totalRday | Number | Daily total radiation (MJ/㎡) |
| temp | Number | Temperature |
| temperatureUnit | String | Temperature unit |
| humidity | Number | Humidity (%RH) |
| windDirection | String | Wind direction |
| windSpeed | Number | Wind speed (m/s) |
| airPressure | Number | Air pressure (Pa) |
| rainfall | Number | Rainfall (mm) |
| pvTemp | Number | Module temperature |
Get Weather Station Detail
Parameters: sn (required). Returns same fields as list.
Endpoint: POST /api/access_data/weatherDetail
Plant Interface Details
Get Plant List
Parameters: plantId, nmiCode, idList (array), minId (starting ID, inclusive; paging is ordered by station_id ascending).
Endpoint: POST /api/access_data/userStationList
Response Parameters (data.page.records):
| Parameter | Type | Description |
|---|---|---|
| id | Number | Plant ID |
| stationName | String | Plant name |
| addr | String | Plant address |
| userId | Number | User ID |
| userName | String | User name |
| capacity | Number | Capacity |
| capacityStr | String | Capacity unit |
| fullHour | Number | Full-load hours |
| latitude | Number | Latitude |
| longitude | Number | Longitude |
| timeZone | Integer | Plant timezone |
| timeZoneStr | String | Timezone description |
| money | String | Currency unit |
| price | Number | Electricity price |
| power | Number | Real-time power |
| powerStr | String | Power unit |
| dayEnergy | Number | Today's energy |
| monthEnergy | Number | Month energy |
| yearEnergy | Number | Year energy |
| allEnergy | Number | Total energy |
| state | Integer | State: 1=online, 2=offline, 3=alarm |
| dataTimestamp | Integer | Update time |
| stationTypeNew | Integer | Plant type |
| nmiCode | String | NMI code |
| inverterPower | Number | Inverter power |
| synchronizationType | Integer | Synchronization type |
| daylightSwitch | Integer | Daylight switch |
| timeZoneStandardId | String | Standard timezone ID |
Get Plant Detail
Parameters: id, plantId, or nmiCode (one required).
Endpoint: POST /api/access_data/stationDetail
Response Parameters: list fields plus:
| Parameter | Type | Description |
|---|---|---|
| dayInCome | Number | Today's income |
| monthInCome | Number | Month income |
| yearInCome | Number | Year income |
| allInCome | Number | Total income |
| batteryPower | Number | Battery power |
| batteryDischargeEnergy | Number | Battery discharge energy |
| batteryChargeEnergy | Number | Battery charge energy |
| batteryPercent | Number | Battery percentage |
| psum | Number | Total power |
| gridPurchasedDayEnergy | Number | Today's grid purchased energy |
| gridSellDayEnergy | Number | Today's grid sold energy |
| familyLoadPower | Number | Family load power |
| homeLoadEnergy | Number | Home load energy |
| inverterBatteryCapacity | Number | Inverter battery capacity |
| batteryCapacity | Number | Battery capacity |
| timeZoneStandardId | String | Standard timezone, e.g. Asia/Shanghai |
Plant Day/Month/Year Energy Lists
Plant Day Energy List
Parameters: time (yyyy-MM-dd), stationIds, plantId, idList, minId (starting ID, inclusive; paging is ordered by station_id ascending).
Endpoint: POST /api/access_data/stationDayEnergyList
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| id | Number | Plant ID |
| energy | Number | Energy |
| energyStr | String | Energy unit |
| date | String | Date |
| money | Number | Revenue |
| batteryDischargeEnergy | Number | Battery discharge energy |
| batteryChargeEnergy | Number | Battery charge energy |
| gridPurchasedEnergy | Number | Grid purchased energy |
| gridSellEnergy | Number | Grid sold energy |
| totalRKwh | Number | Energy per area (kWh/㎡) |
Plant Month Energy List (10 times/sec)
Parameters: time (yyyy-MM), stationIds, plantId, nmiCode, idList, minId (starting ID, inclusive; paging is ordered by station_id ascending).
Endpoint: POST /api/access_data/stationMonthEnergyList
Response Parameters (data array): Same as day energy list (energy unit is monthly).
Plant Year Energy List (10 times/sec)
Parameters: time (yyyy), stationIds, plantId, nmiCode, idList, minId (starting ID, inclusive; paging is ordered by station_id ascending).
Endpoint: POST /api/access_data/stationYearEnergyList
Response Parameters (data array): Same as day energy list (energy unit is yearly).
Single Plant Day/Month/Year/All Data
Plant Day Data
Parameters: id, plantId, or nmiCode (one required), money, time (yyyy-MM-dd), timeZone.
Endpoint: POST /api/access_data/stationDay
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| power | Number | Real-time power |
| time | String | Time |
| totalR | Number | Instantaneous radiation |
| batteryCapacitySoc | Number | Battery SOC |
| familyLoadPower | Number | Family load power |
| batteryPower | Number | Battery power |
| psum | Number | Total power |
Plant Month Data
Parameters: id, plantId, or nmiCode (one required), money, month (yyyy-MM), timeZone.
Endpoint: POST /api/access_data/stationMonth
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| energy | Number | Energy |
| date | String | Date |
| money | Number | Revenue |
| batteryDischargeEnergy | Number | Battery discharge energy |
| batteryChargeEnergy | Number | Battery charge energy |
| gridPurchasedEnergy | Number | Grid purchased energy |
| gridSellEnergy | Number | Grid sold energy |
| totalRKwh | Number | Energy per area (kWh/㎡) |
Plant Year Data
Parameters: id, plantId, or nmiCode (one required), money, year (yyyy), timeZone.
Endpoint: POST /api/access_data/stationYear
Response Parameters (data array): Same format as month data.
Plant All Data
Parameters: id, plantId, or nmiCode (one required), money, timeZone.
Endpoint: POST /api/access_data/stationAll
Response Parameters (data array):
| Parameter | Type | Description |
|---|---|---|
| year | String | Year |
| energy | Number | Total energy |
| money | Number | Total revenue |
| batteryDischargeEnergy | Number | Battery discharge energy |
| batteryChargeEnergy | Number | Battery charge energy |
| gridPurchasedEnergy | Number | Grid purchased energy |
| gridSellEnergy | Number | Grid sold energy |
| totalRKwh | Number | Energy per area (kWh/㎡) |
Appendix
Appendix 1: Error Codes
| Code | Description |
|---|---|
| R0000 | No permission |
| B0001 | Already bound to another user |
| I0003 | Please enter SN |
| B0049 | Collector does not exist or no permission |
| I0000 | Required parameter is empty |
| B0011 | User does not exist |
| I0012 | Account or password error |
Appendix 2: Plant Types
| Code | Description |
|---|---|
| 0 | Grid-tied plant |
| 1 | Energy storage plant |
| 2 | AC Couple plant |
| 3 | EPM plant (grid-tied + meter) |
| 4 | Built-in meter (grid-tied + meter) |
| 5 | External meter |
| 6 | S5 Off-grid parallel storage |
| 7 | S5 Grid-tied parallel storage |
| 8 | Grid-tied + AC Couple plant |
| 9 | Off-grid storage |
| 10 | S6 Grid-tied parallel storage |
| 11 | S6 Off-grid parallel storage |
Appendix 3: Inverter Meter Types
| Code | Description |
|---|---|
| 1 | Grid-tied |
| 2 | Grid-tied + load-side meter |
| 3 | Grid-tied + grid-side meter |
| 4 | Storage + load-side meter |
| 5 | Storage + grid-side meter |
| 7 | Off-grid storage |
| 8 | Grid-tied storage dual meter |
| 1001 | AC Couple (without CT) |
| 1002 | AC Couple (with CT) |
