支持设备
  • 所有能控云产品(CT电表、红外读表器、P1电表、智能插座、Linky读表器、储能机、逆变器、电池、热泵、继电器、充电桩等)
  • 所有使用能控云 WIFI 模块的产品(采集器及其接入的子设备)

设备类型概览

采集器

CT/IR/P1/Linky/Plug

储能机

ZL-xxx

逆变器

PV / AC

智能插座

Electricity/Power

充电桩

Connector 1/2

热泵

Heating/Cooling

1 mDNS 服务发现获取设备参数

1.1 EMS 本地通讯 IP 获取方式

EMS 设备在局域网内通过 mDNS 服务发现暴露自身信息,App 可以无需手动配置 IP 即可发现并连接设备。

1.1.1 通信配置

通信方式: TCP
端口: 8080
协议: JSON
服务类型: _http._tcp

1.1.2 mDNS 参数说明

字段 类型 描述
s_type string 服务类型标识,示例: SXD-mDNS-IF-NKYWLTS011
s_sn string 设备唯一标识(如 NKYWLTS011)
s_domain / name string 域名:SXD-mDNS.local
s_ip string 设备 IP 地址,如 192.168.3.206
s_port string 服务端口:8080
s_type string 设备类型
mDNS 服务发现示例:
Service Type: _http._tcp
Name: SXD-mDNS-IF-NKYWLTS011
Domain: local
Port: 8080
Address: SXD-mDNS.local
TXT Records:
  s_sn=NKYWLTS011
  s_ip=192.168.3.206
  s_port=8080
  s_type=xxx

1.2 设备参数查询命令

设备参数查询命令说明:

App 通过 TCP:8080 连接设备,发送 JSON 命令获取设备侧的功率汇总、能管参数以及子设备状态信息。

字段 类型 说明
Get string "EnergyParameter" : 获取能管参数
SerialNumber int 请求包序号,每请求一次自动加一
CommandSource string 命令源标识:"Web"(网页) / "HA"(Home Assistant)

请求示例:

{
  "Get": "EnergyParameter",
  "SerialNumber": 1,
  "CommandSource": "Web"
}

1.3 设备参数应答命令说明

应答包含三大部分:顶层字段、功率参数汇总(SSumInfoList)以及子设备列表(储能机 / 逆变器 / 插座 / 充电桩)。

1.3.1 顶层字段

字段 字段名 类型 说明
Response Response string "EnergyParameter"
SerialNumber SerialNumber int 回显请求包序号
Target Target string 响应目标:"Web" / "HA"
SSumInfoList SSumInfoList array 功率参数汇总
ControlEnableStatus ControlEnableStatus int 绿电计划开关:0=关闭,1=开启

1.3.2 SSumInfoList 字段

字段名 类型 单位/说明
MeterTotalActivePower double 电表总功率 (W)
TotalPVPower double PV 功率 (W)
TotalPVChargePower double PV 总充电功率 (W)
TotalACChargePower double AC 总充电功率 (W)
TotalSmartLoadElectricalPower double 智能负载总用电功率 (W)
AverageBatteryAverageSOC int 电池平均 SOC (%)
TotalBatteryOutputPower double 电池总输出功率 (W)
TotalGridOutputPower double 设备总并网功率 (W)
TotalBackUpPower double 设备总离网功率 (W)
TotalChargePower double 电池总充电功率 (W)

1.3.3 子设备列表字段

所属子设备 字段 类型 说明
Storage_list
储能机列表
DevAddr int 注册 ID
StorageSN string 储能机序列号(如 ZL-2502250374-00039)
StorageStatus int 储能机状态
PvChargingPower double 储能机 PV 充电功率 (W)
AcChargingPower double 储能机 AC 充电功率 (W)
BatterySoc int 储能机电池 SOC (%)
BatteryDischargingPower double 储能机电池放电功率 (W)
AcInActivePower double 储能机并网有功功率 (W)
OffGridLoadPower double 储能机离网功率 (W)
BatteryChargingPower double 储能机电池充电功率 (W)
PvStringCount int PV 接口数量
Pv1Power / Pv2Power / Pv3Power / Pv4Power double PV1~4 功率 (W)
Connector2Status / Connector2Power int / double 充电枪2 状态 / 功率
InterverInfoList
逆变器列表
InterverSN string 逆变器 SN
InterverStatus string 逆变器状态
InterverActivePower int 逆变器有功功率 (W)
Connector1Status / Connector1Power int / double 充电枪1 状态 / 功率 (2=充电中, 3=充电结束)
PlugInfoList
插座设备列表
DevAddr int 注册 ID
lsThirdParty int 三方设备标志(0=关闭,1=开启)
FansDevType int 三方设备型号
PlugSN string 插座序列号
PlugStatus int 插座状态(0=关闭,1=开启)
PlugActvePower double 插座有功功率 (W)
PlugVol double 插座电压 (V)
PlugCurrent double 插座电流 (A)
PlugRatePower / PlugElectricity double 额定功率 (W) / 用电量 (KWh)
ChargerInfoList
充电桩列表
DevAddr / lsThirdParty / FansDevType int / int / int 同插座字段
ChargerSN string 充电桩序列号
ChargerStatus int 充电桩状态(0=关闭,1=准备,2=充电中,3=充电结束)
ConnectorElectricity double 充电枪用电量 (KWh)

1.4 设备参数应答命令实例

响应示例:

{
  "Response": "EnergyParameter",
  "SerialNumber": 1,
  "Target": "Web",
  "SSumInfoList": [{
    "MeterTotalActivePower": 0,
    "TotalPVPower": 0,
    "TotalPVChargePower": 0,
    "TotalACChargePower": 0,
    "TotalSmartLoadElectricalPower": 0,
    "AverageBatteryAverageSOC": 20,
    "TotalBatteryOutputPower": 40,
    "TotalGridOutputPower": 0,
    "TotalBackUpPower": 0,
    "TotalChargePower": 0
  }],
  "ControlEnableStatus": 0,
  "Storage_list": [{
    "DevAddr": 1,
    "StorageSN": "ZL-2502250374-00039",
    "StorageStatus": 1,
    "PvChargingPower": 0,
    "AcChargingPower": 0,
    "BatterySoc": 100,
    "BatteryDischargingPower": 50,
    "AcInActivePower": -350,
    "OffGridLoadPower": 0,
    "BatteryChargingPower": 0,
    "PvStringCount": 0,
    "Pv1Power": 0,
    "Pv2Power": 0,
    "Pv3Power": 0,
    "Pv4Power": 0
  }, {
    "DevAddr": 2,
    "StorageSN": "ZL-2411080327-00039",
    "StorageStatus": 1,
    "PvChargingPower": 0,
    "AcChargingPower": 0,
    "BatterySoc": 20,
    "BatteryDischargingPower": 40,
    "AcInActivePower": 0,
    "OffGridLoadPower": 0,
    "BatteryChargingPower": 0,
    "PvStringCount": 0,
    "Pv1Power": 0,
    "Pv2Power": 0,
    "Pv3Power": 0,
    "Pv4Power": 0
  }]
}
2 能源控制参数

2.1 通信配置

通信方式: TCP
端口: 8080
协议: JSON

2.2 能源控制参数说明

能源控制参数包括能管联动使能开关(EnergyManagement)、最多 16 个功率控制时段(PowerControlPeriod1 ~ PowerControlPeriod16)、基础放电功率、时间段有效、时间戳、定时模式使能、相位识别使能、电表选择、系统最大用电功率限制。
字段 字段名 类型 读写属性 说明
EnergyManagement EnergyManagement string R/W 能管联动使能: 0=关闭, 1=开启
PowerControlPeriod1 ~ PowerControlPeriod16 PowerControlPeriod1~16 string R/W 功率控制时段 1~16
BaseDischargePower BaseDischargePower string R/W 基础放电功率 (W)
PeriodValid PeriodValid string R/W 时间段有效
Timestamp Timestamp string R/W 格式:"yyyy-mm-dd hh:mm:ss",实例:"2024-09-20 00:00:00"
ScheduledModeEnabled ScheduledModeEnabled string R/W 定时模式使能
PhaseDetectionEnabled PhaseDetectionEnabled string R/W 相位识别使能(仅三相不平衡调控模式下生效):0=关闭,1=开启
MeterSelector MeterSelector string R/W 参与能管控制的电表 ID
SystemMaxPowerLimit SystemMaxPowerLimit string R/W 系统最大用电功率限制,总功率控制时使用总功率数据

功率控制时段格式说明

格式:
[时间段使能],[起始时间],[结束时间],[强制取/馈电功率限制],[允许取电功率限制],[功率控制模式],[充电最大SOC],[放电最小SOC]
列如:
"1,09:00,23:59,1000,500,0,100,10"

解释:使能该时间段,时间为 09:00-23:59,强制取/馈电功率限制为 1000W,允许取电功率限制为 500W,负载优先模式。

2.3 能源控制参数命令说明

通用字段

字段 字段名 类型 说明
Get Get string "Energycontrolparameters":读取能源控制参数
Set Set string "Energycontrolparameters":设置能源控制参数
Response Response string "Energycontrolparameters":应答读取命令
SerialNumber SerialNumber int 每请求一次自动加一
CommandSource CommandSource string "Web":网页 / "HA":Home Assistant
Target Target string 响应目标字段名
RegControlField RegControlField string 读取对应字段

2.4 能源控制参数查询命令实例

字段 描述
Get 返回读取的地址数据
SetParameters 返回设置的地址及数据
SetControlInfo 返回设置的字段及数据

查询请求示例:

{
  "Get": "Energycontrolparameters",
  "SerialNumber": 1,
  "CommandSource": "Web",
  "RegControlField": [
    "EnergyManagement",
    "PowerControlPeriod1",
    "PowerControlPeriod2",
    "PowerControlPeriod3",
    "PowerControlPeriod4"
  ]
}

2.5 能源控制参数查询命令应答实例

{
  "Response": "Energycontrolparameters",
  "SerialNumber": 1,
  "Target": "Web",
  "ControlInfoField": {
    "EnergyManagement": "1",
    "PowerControlPeriod1": "1,09:00,23:59,1000,500,0,100,10",
    "PowerControlPeriod2": "1,00:00,1:59,0,500,1,100,10",
    "PowerControlPeriod3": "1,02:00,4:59,0,500,2,50,10",
    "PowerControlPeriod4": "1,05:00,8:59,0,500,2,100,10"
  }
}

2.6 能源控制参数设置命令实例

{
  "Set": "Energycontrolparameters",
  "SerialNumber": 1,
  "CommandSource": "Web",
  "SetControlInfoField": {
    "EnergyManagement": "1",
    "PowerControlPeriod1": "1,09:00,23:59,1000,500,0,100,10"
  }
}

2.7 能源控制参数设置命令应答实例

{
  "Response": "Energycontrolparameters",
  "SerialNumber": 1,
  "Target": "Web",
  "SetParametersField": {
    "EnergyManagement": "1",
    "PowerControlPeriod1": "1,09:00,23:59,1000,500,0,100,10"
  }
}
3 数据透传

3.1 通信配置

通信方式: TCP
端口: 8080
协议: JSON

3.2 透传数据命令说明

App 可以通过数据透传命令将 Modbus RTU 帧下发给 EMS 接入的子设备,设备返回 Modbus 响应。

字段 字段名 类型 说明
Set Set string "DataTransmission":数据透传
Response Response string 透传应答
SerialNumber SerialNumber int 每请求一次自动加一
CommandSource CommandSource string "Web":网页 / "HA":Home Assistant
Target Target string 响应目标:"Web" / "HA"
SetCommand SetCommand string 透传参数配置
FunctionCode FunctionCode int 标准 Modbus 功能码(支持 0x03、0x04、0x06、0x10)
TransmittedData TransmittedData string 设置/返回的透传数据
CommandResponse CommandResponse string 响应数据
ControlState ControlState string 透传状态:"succeed" / "fail"

3.3 透传数据发送实例

{
  "Set": "DataTransmission",
  "SerialNumber": 1,
  "CommandSource": "Web",
  "SetCommand": {
    "FunctionCode": 3,
    "TransmittedData": "01 03 FE 06 00 03 56 67"
  }
}

3.4 透传数据应答实例

{
  "Response": "DataTransmission",
  "SerialNumber": 1,
  "Target": "Web",
  "CommandResponse": {
    "FunctionCode": 3,
    "ControlState": "succeed",
    "TransmittedData": "01 03 06 00 01 02 03 04 05 2F CE"
  }
}
4 Modbus-TCP 通信

4.1 通信配置

端口: 8080
协议: MODBUS-TCP

4.2 寄存器透传

通过 Modbus-TCP 协议读取 EMS 接入设备的寄存器数据,需要根据 EMS 当前接入的设备协议进行相应解析。
兼容性提示:

当 8080 端口被占用或设备不支持透传时,建议使用第 3 节基于 TCP:8080 + JSON 的数据透传命令,接口更加标准化。

5 常见问题(FAQ)
Q1:App 如何发现局域网内的设备?
A:通过 mDNS 服务发现(服务类型 _http._tcp)自动发现设备的 IP 和端口,无需手动配置。
Q2:EnergyParameter 和 Energycontrolparameters 命令有什么区别?
A:EnergyParameter 用于获取设备的实时功率汇总和子设备状态;Energycontrolparameters 用于读取/设置能源管理配置(16个功率控制时段和各种使能开关)。
Q3:数据透传命令支持哪些 Modbus 功能码?
A:支持标准 Modbus 功能码 0x03(读保持寄存器)、0x04(读输入寄存器)、0x06(写单个寄存器)和 0x10(写多个寄存器)。
Q4:PowerControlPeriod 的格式是什么?
A:[时间段使能],[起始时间],[结束时间],[强制取/馈电功率限制],[允许取电功率限制],[功率控制模式],[充电最大SOC],[放电最小SOC]。例如:"1,09:00,23:59,1000,500,0,100,10"
Q5:系统支持多少个功率控制时段?
A:最多支持 16 个功率控制时段:PowerControlPeriod1 ~ PowerControlPeriod16
Q6:DataTransmission 与直接 Modbus-TCP 读取寄存器有什么区别?
A:DataTransmission 通过 TCP:8080 + JSON 传递 Modbus 命令,协议更加标准化;直接 Modbus-TCP 需要根据 EMS 当前接入的设备协议进行解析。
👉 联系我们获得完整文档或支持 👈
联系我们