
如果您拥有太阳能电池板和华为SUN2000逆变器,您可以通过逆变器或通过FusionSolar应用程序上的API直接通过TCP/IP获取数据(需要向您的安装人员请求),因为我不喜欢通过一个不属于我的“云”系统,因此无法直接访问,我寻找如何直接从我的逆变器“抽取”信息,这并不简单。我的目标是获取所有信息并将其发送到我的智能家居盒子Jeedom。
我的研究
在Jeedom上,有一些“Modbus”插件,这是一个通过TCP/IP从逆变器的内部表格获取数据的应用程序,但没有一个能正常工作,或者说,我没有任何可视数据,经过两天的尝试,我放弃了……太长且繁琐。因此,我卷起程序员的袖子,开发了一个小型控制台应用程序(可在Windows和Linux上使用),然后我在我的Synology上运行这个应用程序,它提取了我的逆变器的数据,成功了!现在它将值传递到Jeedom上的一个虚拟命令中,太棒了!

它是如何工作的?
1) 下载Windows或Linux版本,将所有文件提取到您选择的目录中
2) 使用记事本打开Preferences.json文件
3) 更改您的逆变器地址,默认端口为502,如果Device Id不同于1,也请更改
4) 确保输入您希望推送值的地址的URL(注意仅限GET),您会注意到URL中有一个示例,您可以将ID {0} 和值 {1} 放入Jeedom的虚拟命令中(见下一节第8点)
5) 还请在下面输入虚拟命令的ID,用逗号与将要发送的值的地址分隔(见下一节第8点)
逆变器SUN2000的地址32080对应于当前的瞬时生产,地址32114对应于当天的生产值,您当然可以添加在HUAWEI接口的PDF文件中找到的其他值
在Jeedom中:
1) 您必须安装VIRTUEL插件
2) 插件安装后,进入插件
3) 添加一个新的虚拟组件,命名为“逆变器”
4) 打开“逆变器”,并在上方进入“命令”
5) 通过“添加虚拟信息”按钮添加一个命令,并命名为“当前生产”
6) 添加第二个虚拟命令,并命名为“日生产”
7) 保存,现在您在每个命令前都有一个ID,请在您下载的应用程序的Preferences.json文件中记录这些ID
8) 在虚拟插件的“设备”选项卡中,您有确切的URL和您的Jeedom密钥以推送值,复制此URL并将其放入Preferences.json文件中,但#cmd_id#必须替换为{0},#value#替换为{1}
执行所有操作,查看Jeedom的虚拟命令是否已更新
在Synology上
您可以通过启动时执行的任务在Synology上运行LINUX版本
1) 确保在您的Synology上安装了“.Net 6”包
2) 下载应用程序的Linux版本,并将所有文件复制到您选择的目录中(例如在“/home/RepOnduleurTCP”中)
3) 您必须为“OnduleurTCP”文件赋予执行权限,您可以在“文件站”中右键单击文件,然后在“权限”选项卡下的“属性”中勾选所有框(或通过ssh使用命令“chmod +rwx OnduleurTCP”来完成)
4) 在您的Synology上,打开“控制面板”,然后“任务计划程序”
5) 创建一个新的“触发”任务,一个窗口将打开,确保在“事件”旁边选择“启动”,它将在Synology启动时启动OnduleurTCP应用程序
6) 在“任务参数”选项卡下,您需要记录“OnduleurTCP”文件所在的路径,例如:/volume1/homes/[您的Synology用户名]/RepOnduleurTCP/OnduleurTCP
完成了!第一次手动执行任务,点击“执行”按钮,您可以查看日志以确认应用程序是否正常运行,在“操作”>“显示结果”中查看
安装
注意,对于Windows或Linux(以及Synology),您必须事先安装.Net 6运行时(https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
您可以在此下载包含华为SUN2000接口地址的PDF文件:PDF
Aucun commentaire pour le moment.