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 配置 ​

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

RocketMQ 接入建议

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

MQTT 配置 ​

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

MQTT 接入建议

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

HTTP 回调配置 ​

参数必填说明
callbackUrl是HTTP 回调地址(需公网可达)
method否请求方式,固定为 POST

HTTP 回调接入建议

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

数据推送频率 ​

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

常见问题 ​

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

检查顶层字段 isRealtime:

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

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

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

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