ZenovaConnect
← 返回观点笔记
2026-05-26·20 分钟

光伏逆变器云平台 API 接入难度榜:9 家实测笔记

实测自家 Zenergy Monitor 接入:对 9 家厂商手头的真实接口文档逐条标注 —— 认证、数据粒度、历史回补、下行控制、文档维护频率。


评估维度

我们用 6 个维度评估光伏逆变器云平台 API 的接入难度:

维度含义
公开 API是否对外开放,而非需要单独商务洽谈
认证方式OAuth2 / API Key / 签名;复杂度差异很大
数据粒度5min / 15min / 1h / 仅汇总,影响实时性与可用性
历史数据是否支持回补,以及最大可回溯窗口
下行控制是否支持远程开关、限功率、参数下发
文档质量直接决定首次接入的工程耗时

主流厂商速览

下文是我们在 Zenergy Monitor 平台 3 年生产使用中、根据各厂商真实交付到我们手上的接口文档整理出的接入笔记。仅作工程参考,不构成商务建议。引用条目均来自我们手头持有的 PDF/Excel 版本文档,版本号在每节首行注明。

华为 FusionSolar / iMaster NetEco

文档: iMaster NetEco V600R023C00 北向接口参考-V6 (SmartPVMS)

  • 公开 API: ✅ RESTful 北向接口,HTTPS-only,JSON 报文
  • 认证: 用户名/密码登录 → 响应头返回 XSRF-TOKEN,后续请求 header 透传;Token 30 分钟空闲过期,需要重新登录;限流 每北向用户 10 分钟最多调用登录 5 次,连续 5 次密码错误会锁定账号 30 分钟
  • 数据粒度: 电站实时 + 小时/日/月/年;设备实时 + 5 分钟 + 历史 + 日/月/年
  • 历史回补: 支持设备级历史接口(getDevHistoryKpi)按 5 分钟维度回查时间段
  • 下行控制: 支持 DRM(功率限制)、强制充放电、并离网控制、开关机限功率(状态码 513 并网限功率 / 772 关机限功率 等)
  • 坑点: 接口生命周期管理活跃 —— 文档里同时存在「新增 / 修订 / 即将下线」三块清单;getStationList 在 V600R023C00SPC210 已声明预下线,要切到 /thirdData/stations。单北向账号 SPC 升级后限流策略动态变化,存量/新增账号策略不同
  • ZenovaConnect 经验: 我们对华为接口保留了一层 SPC 版本探测,字段映射按版本号分支;DRM 下发我们只暴露给具备运维资质的客户

阳光电源 iSolarCloud

文档: 厂商 OpenAPI 文档(线下交付,无公开 PDF 链接)

  • 公开 API: ✅ 需要在云端先开通三方应用
  • 认证: App Key + App Secret 签名(每请求重新计算)
  • 数据粒度: 5 分钟
  • 历史回补: 一般可回查到设备建档以来,部分接口按月分页
  • 下行控制: 仅指定型号(逆变器 + 储能 PCS)
  • 坑点: 部分电量字段单位为 kWh × 10,需要在适配层除回;时间戳是设备本地时区,聚合到 UTC 时需要先拿到电站经纬度
  • ZenovaConnect 经验: 在我们生产环境承接的接入量里阳光是 Top 3,字段归一是工作量最大的一家

固德威 GoodWe SEMS

文档: 固德威国内 OpenAPI v1.0.1.2 (2022-03-16)

  • 公开 API: ✅ 域名 openapi.sems.com.cn,HTTP POST + JSON
  • 认证: account/pwd 登录获取 token,有效期 2 小时,header 透传;每分钟/小时/天三级访问频率限制
  • 数据粒度: 实时 + 日功率曲线 + 日/月/年发电量;没有公开 5 分钟维度
  • 历史回补: 通过「日功率曲线」和「日月年发电量」组合;批量接口(2.3.6 ~ 2.3.8) 1.0.1.2 才补全
  • 下行控制: ❌ 文档未提供
  • 坑点: 一级经销商权限隔离严格 ——「固德威出货给经销商 A 的逆变器,经销商 B 看不到」,跨级取数需要联系售后开权限;HT 型号扩展到 vpv5vpv12 / istr17istr24,旧代码可能漏字段;告警错误表(3.3)需要单独维护字典
  • ZenovaConnect 经验: 接入前要先确认上游一级组织授权,否则会一直 401;告警字典我们和厂商版本差异保留了 diff 提示

锦浪 Solis (Ginlong)

文档: 锦浪云平台 API 文档 V2.0

  • 公开 API: ✅ 域名 api.ginlong.com:13333,需在 ginlongcloud.com 申请 API ID + Secret
  • 认证: AWS S3 风格签名 —— Authorization: API <apiId>:<sign>,其中 sign = base64(HmacSHA1(secret, POST\n + Content-MD5\n + Content-Type\n + Date\n + CanonicalizedResource));必须填 Content-MD5(Body MD5 后 base64)
  • 数据粒度: 全接口固定 5 分钟更新
  • 历史回补: 「某日实时」/「某月日数据」/「某年月数据」/ 年数据 四档,均按时间窗口分页
  • 下行控制: 文档版本 V2.0 中未单独列控制接口
  • 坑点: Date header 与服务器时间偏差不能超过 ±15 分钟,生产环境 NTP 漂移过会直接 401;接口频率上限 2 req/sec(批量接口 5 分钟内最多 60000 台);EPM 和气象仪走独立接口集
  • ZenovaConnect 经验: 签名我们封了独立的 SDK,Content-MD5 上线初期因为换行符差异踩过一次;Date 偏移建议直接复用服务端响应头里的 Date 反推

首航 Sofar (经 Solarman 接入)

文档: SolarMAN OpenAPI v1.1.7

  • 公开 API: ✅ 通过 SolarMAN 开放平台 api.solarmanpv.com;首航采集器普遍使用 Solarman 网关
  • 认证: OAuth 2.0,APP_ID + APP_SECRET → access_token(有效期 2 个月),refresh_token 续期;Authorization: <access_token> header
  • 数据粒度: 设备实时 + 设备历史;电站实时 + 电站历史
  • 历史回补: 设备/电站历史接口按时间段查询
  • 下行控制: ✅ 设备控制指令下发(3.7)+ 自定义指令(3.9 自定义寄存器);1.1.7 增加可调用方超时
  • 坑点: 限流双轨制 —— 常规接口 300 req/10s,控制类接口 50 req/min;密码字段要 SHA256 预处理再传;测试与生产 APP_ID 不通用;同时密码重置或角色变更会让现有 token 立即失效
  • ZenovaConnect 经验: Solarman 是「集采型」网关供应商,接入 Solarman 等于覆盖多家品牌,但所有数据精度受限于 Solarman 网关采样而非逆变器本身

昱能 APsystems

文档: APsystems OpenAPI User Manual V1.6 (2024-02-07,英文)

  • 公开 API: ✅ 通过邮件申请 App Id + App Secret
  • 认证: 自 V1.2 起为 HMAC 签名,每请求带 5 个 header:X-CA-AppId / X-CA-Timestamp / X-CA-Nonce / X-CA-Signature-Method (HmacSHA256 或 HmacSHA1) / X-CA-Signature;签名串拼接顺序为 Timestamp/Nonce/AppId/RequestPath/HTTPMethod/SignatureMethod
  • 数据粒度: 没有 5 分钟维度 —— 仅小时 / 日 / 月 / 年(energy_level=hourly|daily|monthly|yearly)
  • 历史回补:date_range + energy_level 组合查询,小时数据按自然日(24 点位)、日数据按自然月,以此类推
  • 下行控制: ❌ 仅数据读取
  • 坑点: 6 个月不调用账号会被关闭;V1.5(2023-11)才加 inverter-level 数据,旧代码只能取到 ECU 级;按调用量与数据范围计费(文档明示)
  • ZenovaConnect 经验: 接入用户需要 ECU(微逆中央通讯器)级 → 逆变器级两层数据模型,我们做了拍平;只能补到 hourly 这一点影响告警精度,建议结合用户侧自有边缘补点

思格 Sigenergy

文档: Sigenergy Northbound API 草稿 v2.3 (2025-03-04,中文版)

  • 公开 API: ✅ 文档已交付(55 页)
  • 认证: 文档以图片形式嵌入正文(截屏排版),自动化文本抽取无法解析,关键参数以集成对接团队为准
  • 数据粒度: 同上,文档可读但字段以厂商样例为准
  • 历史回补: 同上
  • 下行控制: 文档目录显示包含设备控制章节(8 ~ 12 节为下行控制 / 任务下发 / 告警等)
  • 坑点: 草稿版本,版本号 2.3 表示仍在演进;思格主推储能 + 一体化产品,数据模型预期偏 PCS / 电池簇
  • ZenovaConnect 经验: 我们对储能厂商默认追加电池簇 / SOH / 充放电策略字段维护,而不是只取逆变器侧

中鑫

文档: 中鑫数字化平台 OpenAPI 接口文档 - 光伏 V2.0

  • 公开 API: ✅ HTTP POST + JSON,路径 /api/v{ver}/{service}/{method}
  • 认证: HMAC-SHA256 签名,固定 6 个 header:accessKeyId / signatureMethod / signatureVersion / requestId(UUID) / timestamp(ms) / signature;签名串将所有入参按 ASCII 排序、URL 编码后拼接 POST&%2F&<encoded querystring>,HmacSHA256(secret) + base64
  • 数据粒度: 以「测点」为单位,接口 listPointByDeviceId + 根据测点编码查询数据;粒度跟测点配置走
  • 历史回补: 通过测点历史接口(2.8)按时间段查询
  • 下行控制: 文档未列出
  • 坑点: 资产模型横跨光伏 + 储能 + 配电 + 充电桩 + 综合能源(附录二罗列了 11 类采集项,包括关口电表 / 变压器 / 充电枪 / 电池簇等),意味着接入方需要根据 deviceType 分发到不同字段映射器
  • ZenovaConnect 经验: 测点驱动模型对适配层友好,但要在对端先确认哪些测点已经下发;否则会大量取到空值

科华 (能源云)

文档: 科华能源云 HTTP 接口协议 V1.02 (最后更新 2024-06)

  • 公开 API: ✅ 域名 energy.kehua.com,REST + JSON,响应 code 为字符串 "0/1"
  • 认证: northboundLogin 用户名密码登录 → data.authorization token,header 透传
  • 数据粒度: 电站实时 + 设备实时(ycInfos 遥测 / alarmInfos 告警 / yxStatus 遥信 三段式)
  • 历史回补: 2024-06 新增「单逆变器单日历史数据接口」,此前仅有当前 + 日累计
  • 下行控制: ✅ 提供 getDeviceSettingInfo(控制点列表)+ 设置点接口,字段含 statusFlag / rangeData / accuracy / isSigned 用于校验下发值
  • 坑点: 文档为 Excel(.xlsx)而非 PDF,变更记录显示自 2019 至 2024 有 6 次大改;字段单位多写在 name 字符串内(如 "active power set (kW)"),需要解析
  • ZenovaConnect 经验: 控制点 schema(SetDataObject + StatusDescriptionObject)是少见的"数据驱动 UI 友好"设计,我们直接拿来生成下发表单

一句话总结

公开 API 在主流厂商基本是常态,真正的差异在 历史回补、告警语义、下行控制和文档维护频率

具体看下来,认证方式有三大流派:

  • 签名派(锦浪、昱能、中鑫、阳光):每请求计算 HMAC,Date / Timestamp 偏移要严控
  • OAuth 派(首航/Solarman):双 token + refresh,过期与失效场景复杂
  • 登录 Token 派(华为、固德威、科华):用户名密码换短期 token,简单但弱在多租户隔离

数据粒度上,真正能拿到 5 分钟数据的只有华为、锦浪、阳光、(科华次之),昱能只到 hourly,固德威只有功率曲线 + 日累计,中鑫看测点配置。

下行控制方面,华为最完整(DRM + 强制充放电 + 限功率),Solarman/首航与科华次之,其余以读为主。

这些都是 ZenovaConnect 长期跟踪并归一的工作——你的团队不需要为每家厂商重复消化这些细节。

我们如何利用这份榜单

ZenovaConnect 的协议矩阵会按 生产已验证 / Beta / 排期中 / Queued 分级展示这些厂商。新厂商接入需求按使用场景与商业价值排期;Self-Hosted 部署的客户可以拿到我们已经做过的适配源码,包括上述每家的签名/限流/字段归一逻辑。