Skip to content

实时数据转发

锦浪云(SolisCloud)支持通过通用数据转发方式获取设备实时数据,适用于高频实时数据获取场景。当 HTTP API 的限流(10次/秒)无法满足业务需求时,推荐使用此方式(无频率限制)。

适用场景

  • 需要高频实时获取设备数据(秒级推送)
  • HTTP API 限流无法满足业务需求
  • 需要实时接收设备状态变更和告警通知

支持的协议

协议说明适用场景
RocketMQ消息队列转发高吞吐量、可靠投递
MQTTMQTT 协议转发IoT 场景、轻量级
HTTPHTTP 回调转发简单集成、webhook 模式

数据转发流程

开通流程

  1. 联系锦浪云对接团队申请数据转发服务
  2. 提供转发配置信息(协议类型、接收地址等)
  3. 配置完成后,实时数据将推送至指定地址

注意

数据转发服务需要单独申请开通,不在 API 自助开通范围内。请联系对接团队获取配置支持。

转发数据格式

无论使用哪种转发协议,推送的消息体均为统一的 JSON 格式。每条消息以采集器为单位,包含该采集器下所有逆变器的实时数据。

数据示例

json
{
  "time": 1572315457000,
  "sn": "10000",
  "isRealtime": 0,
  "collector1": {
    "collectorVer": "211",
    "type": 0,
    "model": "4G",
    "rssiLevel": 1,
    "rssi": -90,
    "lat": 30000000,
    "lon": 120000000,
    "dataUploadCycle": 300,
    "currentWorkingTime": 86400,
    "totalWorkingTime": 2592000
  },
  "inverter1": [
    {
      "inverterSn": "aa08fcb5aa08fcb5",
      "inverterModel": "23",
      "inverterVer": "2568",
      "ratedPower": 15000,
      "nationalCode": "13",
      "national": "GN-380L",
      "inverterTemp": 14.0,
      "pac": 10017,
      "reactivePower": 120,
      "apparentPower": 10100,
      "eToday": 3765.7,
      "eMonth": 92343,
      "eYear": 926474,
      "eTotal": 3154573,
      "pv": [
        { "u": 200.0, "i": 2.0 },
        { "u": 200.0, "i": 2.0 },
        { "u": 200.0, "i": 2.0 }
      ],
      "mppt": [
        { "u": 400.0, "i": 6.0 },
        { "u": 400.0, "i": 6.0 }
      ],
      "ac": [
        { "u": 220.1, "i": 2.1 },
        { "u": 200.2, "i": 2.2 },
        { "u": 200.3, "i": 2.3 }
      ],
      "fac": 50.00,
      "psum": -500,
      "gridPurchasedTotalEnergy": 1200.5,
      "gridSellTotalEnergy": 800.3,
      "batteryPower": 0,
      "batteryState": 0,
      "batteryHealthSoh": 98.5,
      "batteryCapacitySoc": 85.0,
      "familyLoadPower": 3500,
      "bypassLoadPower": 0,
      "homeLoadTodayEnergy": 12.5,
      "homeLoadTotalEnergy": 3650.0,
      "state": "1245",
      "subState": 0,
      "alarmCn": "",
      "alarmEn": ""
    }
  ]
}

数据字段说明

顶层字段

字段类型说明
timeLong数据时间戳(毫秒)
snString采集器 SN
isRealtimeInteger是否实时数据:0 = 实时,1 = 历史补传

采集器信息(collector1)

字段类型说明
collectorVerString采集器固件版本
typeInteger采集器连接类型:1=GPRS,2=WIFI
modelString采集器型号:GPRS / WIFI / 4G / LAN / W4G 等
rssiLevelInteger信号强度等级(1-5)
rssiInteger信号值:GPRS 为 1~31,WIFI 为 -20~-100
latInteger纬度(乘以 0.000001 为实际值)
lonInteger经度(乘以 0.000001 为实际值)
dataUploadCycleInteger数据上报周期(秒)
currentWorkingTimeLong当次运行时长(秒)
totalWorkingTimeLong累计运行时长(秒)

逆变器信息(inverter1 数组)

每台逆变器为一个对象,包含以下字段:

基本信息

字段类型说明
inverterSnString逆变器 SN
inverterModelString逆变器型号编码
inverterVerString逆变器固件版本
ratedPowerDouble额定功率(W)
nationalCodeString国家标准代码
nationalString国家标准名称
inverterTempDouble逆变器温度(℃)

发电侧

字段类型说明
pacDouble逆变器实时功率(W)
reactivePowerDouble无功功率(Var)
apparentPowerDouble视在功率(VA)
eTodayDouble今日发电量(kWh)
eMonthDouble本月发电量(kWh)
eYearDouble本年发电量(kWh)
eTotalDouble累计发电量(kWh)

直流侧(pv 数组)

字段类型说明
uDouble直流电压(V)
iDouble直流电流(A)

MPPT 数据(mppt 数组)

字段类型说明
uDoubleMPPT 电压(V)
iDoubleMPPT 电流(A)

交流侧(ac 数组)

字段类型说明
uDouble交流电压(V)
iDouble交流电流(A)
facDouble电网频率(Hz)

电网侧

字段类型说明
psumDouble电网总功率(W),正值=售电,负值=购电
gridPurchasedTotalEnergyDouble电网累计购电量(kWh)
gridSellTotalEnergyDouble电网累计售电量(kWh)

电池侧

字段类型说明
batteryPowerDouble电池功率(W),正值=充电,负值=放电
batteryStateInteger电池状态:0=正常,1=离线,2=故障
batteryHealthSohDouble电池健康度 SOH(%)
batteryCapacitySocDouble电池电量 SOC(%)
batteryListArray多电池列表(每项含上述电池字段)

负载侧

字段类型说明
familyLoadPowerDouble家庭负载功率(W)
bypassLoadPowerDouble旁路负载功率(W)
homeLoadTodayEnergyDouble今日负载用电量(kWh)
homeLoadTotalEnergyDouble累计负载用电量(kWh)

逆变器状态

字段类型说明
stateString逆变器状态码(十进制),详见下方说明
subStateInteger子状态
alarmCnString中文告警信息(仅告警时有值)
alarmEnString英文告警信息(仅告警时有值)

状态码判断

state 十进制值大于 4100(十六进制大于 1004)表示逆变器告警。常见告警码:

状态码(十六进制)含义
1004H控制离网
1010H电网过压
1011H电网欠压
1012H电网过频
1013H电网欠频
1015H无电网
1020H直流过压
1032H过温保护
1033HPV 绝缘故障
1034H漏电流保护
2010HFail Safe
2011H电表通信故障
2012H电池通信故障

协议配置要求

RocketMQ 配置

参数必填说明
namesrvAddrRocketMQ NameServer 地址
topic消息主题
consumerGroup消费者组
accessKey访问密钥(启用 ACL 时必填)
secretKey密钥(启用 ACL 时必填)

RocketMQ 接入建议

  • 建议使用 集群消费模式,确保消息不丢失
  • 消费者需做好幂等处理,防止重复消费
  • 建议设置合理的消费超时时间(默认 30 秒)

MQTT 配置

参数必填说明
brokerUrlMQTT Broker 地址
topic订阅主题
clientId客户端 ID(需唯一)
username用户名
password密码

MQTT 接入建议

  • 建议使用 QoS 1(至少一次送达)
  • clientId 需保持唯一,重复连接会导致互踢
  • 建议实现自动重连机制

HTTP 回调配置

参数必填说明
callbackUrlHTTP 回调地址(需公网可达)
method请求方式,固定为 POST
headers自定义请求头(可用于鉴权)

HTTP 回调接入建议

  • 回调地址需支持 HTTPS
  • 接收方需在 5 秒内 返回 HTTP 200,否则视为推送失败
  • 推送失败后会自动重试(最多 3 次)
  • 建议实现签名验证,确保请求来源合法

数据推送频率

项目说明
推送频率跟随设备上报频率,通常为 秒级
频率限制无限制
消息顺序同一设备的消息按时间顺序推送
消息可靠性RocketMQ/MQTT 保证至少一次送达;HTTP 失败后重试

常见问题

转发数据和 HTTP API 查询的数据有什么区别?
对比项HTTP API实时数据转发
数据更新频率5 分钟秒级
调用方式主动拉取被动推送
频率限制10 次/秒无限制
适用场景低频查询、报表统计实时监控、高频分析
如何判断收到的数据是实时数据还是历史补传?

检查顶层字段 isRealtime

  • 0 = 实时数据
  • 1 = 历史补传数据(设备离线恢复后会补传离线期间的数据)
转发数据中缺少某些字段怎么办?

不同设备类型支持的字段不同:

  • 并网逆变器:无电池相关字段(batteryPower、batteryCapacitySoc 等)
  • 储能逆变器:包含完整字段
  • 采集器型号较旧:可能缺少 MPPT 数据

建议根据 inverterModel 判断设备类型,动态解析字段。