跳到主要内容
Scholt

Scholt MQTT 驱动

以下集成可用于通过 MQTT 发送现场测量数据,并接收安装的不同设备类型的命令。

Python 演示脚本

此测试代码的简单功能是持续向安装发送虚假测量数据,并接收命令:

请在您首选的 Python IDE 中下载下面的文件。填写您的序列号、站点过滤器和 MQTT 凭据,然后执行脚本:

先决条件

云控制器

站点将通过云控制器进行控制。请联系 Eniris 设置新的云控制器。

站点设置

创建云控制器后,它将包含一个唯一的序列号 (<Controller SN>)。

可以使用唯一的站点过滤器 <site_filter> 在云控制器上生成新站点。

这两个变量必须在 MQTT 主题和正文中使用。

警告

使用相同的站点过滤器会导致错误。

设备选择

Device Type支持
太阳能逆变器
储能设备
热泵
电网与消费表
电动车充电器
信息

站点中的设备在创建后无法编辑。

MQTT 凭据

Eniris 将提供 MQTT 凭据。在生成新站点时,必须输入 MQTT 用户名。

信息

凭据只需提供一次。一个 MQTT 凭据集可以用于控制所有站点。

发送测量数据

要向 SmartgridOne Controller 发送测量数据,可以使用以下 MQTT 主题进行发布: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/

可选字段用 斜体 表示。

可以按设备类型发送以下字段:

  • 储能

    • mean_soc_perc
    • active_power_W
    • today_charged_Wh
    • today_discharged_Wh
    • energy_stored_Wh
  • 太阳能

    • active_power_W
    • today_energy_Wh
  • 热泵

    • operation_modes
      • 可能的操作模式为 off, on
    • active_power_W
      • 当热泵处于 on 状态时等于额定功率
  • 表计

    • active_power_W
    • today_imported_energy_Wh
    • today_exported_energy_Wh

消息必须按以下结构组织:

{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <电网有功功率(瓦特)>,
"today_imported_energy_Wh": <电网进口能量(瓦时)>,
"today_exported_energy_Wh": <电网出口能量(瓦时)>,
},
"meter": {
"active_power_W": <电网有功功率(瓦特)>,
"today_imported_energy_Wh": <电网进口能量(瓦时)>,
"today_exported_energy_Wh": <电网出口能量(瓦时)>,
},
"storage": {
"energy_stored_Wh": <储存能量(瓦时)>,
"mean_soc_perc": <平均充电状态百分比>,
"active_power_W": <有功功率(瓦特)>,
"today_charged_Wh": <今天当前充电的能量(瓦时)>,
"today_discharged_Wh": <今天当前放电的能量(瓦时)>,
},
"solar": {
"active_power_W": <太阳能有功功率(瓦特)>,
"today_energy_Wh": <今天产生的能量(瓦时)>.
},
"heat_pump": {
"active_power_W": <热泵有功功率(瓦特)>,
"operation_modes": <热泵操作模式>
}
},
"response_code": <响应代码>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}

测量确认

当成功接收到测量数据时,将在以下主题上发送确认: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>

此确认可用于:

  1. 验证测量消息是否成功接收。
  2. 验证测量消息是否包含所有必要的数据。

接收命令

要接收来自 SmartgridOne Controller 的命令,请订阅以下 MQTT 主题: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/

响应的结构如下:

{
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<policy>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<policy>",
"storage_power_setpoint_w": -5000
}
}

可以接收到的政策列表请参见这里:潜在政策列表