Maitian protocol integration
ZenovaConnect integrates Maitian devices via 麦田光伏逆变器 API (maitian-yun.com), normalizes fields, and pushes to your channel.
Integration details
- API source
- 麦田光伏逆变器 API (maitian-yun.com)
- Category
- 逆变器
- Auth method
- api-key
- Data resolution
- 5min
- Downlink control
- No
- Applied at
- 2024-Q4
- Production since
- 2024-Q4
Production observations
Maitian Energy cloud API (maitian-yun.com) for inverter integration. Auth is simple — single api-key in header, no signing — easy to onboard quickly. Field response style is a uniform `{name, variable, unit, value}` object list rather than nested structure — all params (including numbered extensions like PV1Volt through PV18Volt) are flat in one array. We map by `variable` name on our side. Supports many MPPT inputs per device (an R100-G2 unit we tested returned 18 PV voltage/current pairs). Useful for string-level monitoring on commercial plants — alarms can drill below the inverter level. 5-minute resolution. Provides plant, inverter, device list, historical data, and error- code dictionary endpoints.
Field mapping
| Vendor field | BaseData field | Note |
|---|---|---|
| stationId | PlantId | Plant ID |
| deviceSn | InverterSN | Device SN |
| todayYield | EDay | kW (note: doc says kW, actually kWh) |
| generation | ETotal | kWh · cumulative energy |
| pvPower | PowerDCInputTotal | kW · total PV input power |
| generationPower | PowerACOutputActive | kW · AC output power |
| pv{N}Volt / pv{N}Current | UDC1..N, IDC1..N | V/A · multi-MPPT (18 strings observed) |
| RVolt, SVolt, TVolt | UAC1, UAC2, UAC3 | V · phase R/S/T |
| RCurrent, SCurrent, TCurrent | IAC1, IAC2, IAC3 | A · per-phase |
| RFreq, SFreq, TFreq | FrqAC | Hz · grid freq (take primary phase) |
| invTemperation | Temperature | Celsius · inverter internal temp |
| currentFault | AlertArray | Current error code · use with code dictionary |
| runningState | (状态字段) | Numeric state code · see doc |
Integration gotchas
- Field unit labels are inconsistent: `todayYield` is documented as kW but is actually kWh — variable-name patching is required
- Field-name hygiene: same R100-G2 model occasionally returns ' pv11Current' with leading whitespace — parser must trim
- MPPT count up to 18 (possibly more) — BaseData needs extension fields or indexed naming
- Error-code dictionary is fetched via a separate endpoint (getErrorCodes); must be cached and refreshed periodically
- No explicit token expiry, but no auto-revoke channel if the api-key leaks — credential rotation is our responsibility
✓ INTEGRATED IN ZENOVACONNECT
Production integration since 2024-Q4 · source 麦田光伏逆变器 API (maitian-yun.com)
Field observations
We documented 9 vendor integrations in detail. Useful comparison for this brand.
Read the article →Ready to integrate Maitian?
Onboard once, then field normalization, API revision tracking, and alarm semantics stay handled.