『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 93150|回复: 236

[插件集成] 支持HA2021.8.X能源功能的培正用电信息采集方案

  [复制链接]

20

主题

550

帖子

3603

积分

元老级技术达人

积分
3603
金钱
3013
HASS币
210

教程狂人突出贡献

发表于 2021-8-20 23:20:10 | 显示全部楼层 |阅读模式
本帖最后由 involute 于 2023-8-15 18:54 编辑

Peacefair Energy Monitor


2021.9.5更新

  • 修改state_class适配HA2021.9.X,下载附件0.7.2或者HACS更新

2021.9.3更新

  • 修改了可能无法建立存储目录从而导致插件失败的BUG,需要更新的直接下载附件的0.7.1或者从HACS更新


使用培正PZEM-004T交流通讯盒进行用电信息采集的Home Assistant集成,支持Home Assistant 2021.8.X后新增的能源功能。

支持通过ModbusRTU over UDP/TCP访问PZEM-004T,不支持串口访问方式。

成本低廉,整套东西硬件投入不足70元。

警告

**以下操作仅适于有一定强电电路知识的人,涉及强电操作,注意人身安全。**


硬件准备

用电信息采集

用电信息采集采用的是培正PZEM-004T,论坛中已有很多解决方案,本方案中采用的是100A使用互感器非接触采集的方案。
非接触采集不用接触强电接线,安全性较好。如果采用互感器,选那种可以打开的互感器,比较方便往线上套。
**互感器与PZEM模块断开时,可能会产生高压感应电流,要从电路中取下互感器。不要从PZEM上摘下,应该连着PZEM模块一起取下,然后再摘下互感器**
**互感器从PZEM模块摘下后,不得开路,应把线圈的红黑线互相短接在一起**


信息传输

PZEM-004T使用TTL进行通讯,但大老远的拉根USB-TTL线到HA主机,显然不现实,所以这里采用的是WiFi-TTL无线传输模块。
因为PZEM-004T的TTL是5V供电,因此没有直接采用3.3V的ESP-01(S)模块,而是使用了一款基于ESP-M2的DT-06 WiFi-TTL无线传输模块,自带透传固件,5V供电,省掉了5V-3.3V降压模块。当然你可以根据喜好自主选择无线传输模块。

如果使用DT-06做为透传模块,记得选要透传固件的,配置文档找卖家要即可。

如何配置透传模块,透传模块使用的端口、协议,要记清楚,后续配置要用。
很多小伙伴表示弄不懂透传,我介绍一下DT-06模块的透传设置。
1、DT-06接5V通电
2、无线网搜索热点"Doit_WiFi_xxxxxx"并连接,热点无密码
3、如果没有自动弹出网页,则在浏览器输入默认地址"192.168.4.1"
4、网页如图所示
屏幕快照 2021-08-22 下午9.17.13.png
5、MODULE菜单下有Serial(串口)/WiFi(无线网)/Networks(网络三个选项),一个个配置
6、串口设置如下,要符合PZEM模块的串口要求
屏幕快照 2021-08-22 下午9.17.39.png

7、无线网设置如下,只用打开STA模式就行,填写你自己的无线网SSID和密码,下边DHCP相关选项是由路由器分配IP还是设定固定IP
屏幕快照 2021-08-22 下午9.19.11.png
8、网络设置如下,这一步是设置透传模式,下拉列表中选择UDP Server或者TCP Server,我推荐使用UDP Server。
然后如果是TCP Server,就在下方TCP Server Local Port填写TCP透传端口,如果是UDP Server,就在下方UDP Server填写UDP透传端口。
无论使用TCP或者UDP,用的哪个端口,随后安装集成的时候要填写对应的设置。
屏幕快照 2021-08-22 下午9.20.36.png


接线图

屏幕快照 2021-08-19 下午9.59.10.png


接线实拍

照片中是拆掉了弱电箱的门,互感器直接套在入户主线的火线上,从插座的空开下接了一个带USB的小插座,用于给PZEM-004T提供220V/5V供电。看起来乱七八糟,外边挂一幅画就全挡住了。

IMG_5937.jpg


有盆友反应004T的RX灯常亮,可以考虑在DT-06的TX到004T的RX之间串接一个1K左右电阻,没做精确阻抗匹配,但1K左右应该都可以。

resistor.png

集成安装

使用HACS自定义存储库安装,或者从Latest release下载最新的Release版本,将其中的custom_components/peacefair_energy下所有文件放到<Your Home Assistant Config Folder>/custom_components/peacefair_energy中,重新启动Home Assistant。


配置

安装
在Home Assistant的集成界面,点击添加集成,搜索”Peacefair Energy Monitor”进行添加。需要填写的数据包括:
  • 透传模块的IP地址
  • 透传模块的端口
  • 协议(TCP或UDP)
  • 模块从站地址(一般为1)



选项
选项是采集间隔,默认为15秒钟采集一次,可根据需要自行调整。


特性
- 支持Home Assistant 2021.8.x之后的能源面板
- 自动记录日、周、月、年度的实时用电量
- 提供昨日、上周、上月、去年的历史用电量

误差
根据长期测试,该集成的月度统计数据与国网电力的数据误差低于3%。


实时用电信息
实时信息包含以下传感器
传感器名称 默认名称 含义
sensor.<IP>_energy Energy 总用电量
sensor.<IP>_voltage Voltage 当前电压
sensor.<IP>_current Current 当前电流
sensor.<IP>_power Power 当前功率
sensor.<IP>_frequency Power Frequency 交流频率
sensor.<IP>_power_factor Power Factor 当前功率因数


统计信息
统计信息包含以下传感器
传感器名称 默认名称 含义
sensor.<IP>_day_real Energy Consumption Today 今日用电量
sensor.<IP>_day_history Energy Consumption Yesterday 昨日用电量
sensor.<IP>_week_real Energy Consumption This Week 本周用电量
sensor.<IP>_week_history Energy Consumption Last Week 上周用电量
sensor.<IP>_month_real Energy Consumption This Month 本月用电量
sensor.<IP>_month_history Energy Consumption Last Month 上月用电量
sensor.<IP>_year_real Energy Consumption This Year 今年用电量
sensor.<IP>_year_history Energy Consumption Last Year 去年用电量


服务
包含一个服务

peacefair_energy.reset_energy

作用为重置总用电量

参数 描述 示例
entity_id 要重置的总用电量实体 sensor.IP_energy


注意:重置总用电量不会影响各实时传感器及统计信息传感器的数值


Home Asssitant的能源

在Home Assistant 2021.8.X中新增的能源功能,可以使用集成中的"总用电量"传感器作为能源消耗的统计依据。
如果你是国网北京电力的用户,可以使用[bj_sgcc_energy](https://github.com/georgezhao2010/bj_sgcc_energy)作为电费单价实体。
不是国网北京电力的用户也没关系,可以使用本集成中的本月用电量、今年用电量,根据当地的用电收费政策,使用模版计算出用电单价来。

1.png

调试
要打开调试日志输出,在configuration.yaml中做如下配置

logger:
  default: warn
  logs:
    custom_components.peacefair_energy: debug


传感器信息显示
以下为示例


屏幕快照 2021-08-20 下午10.14.23.png
屏幕快照 2021-08-20 下午10.31.02.png
屏幕快照 2021-08-20 下午10.15.15.png

github
https://github.com/georgezhao2010/peacefair_energy/
如果有用,请点个星

本地压缩包
懒得更新压缩包,自己去github下载最新release吧









评分

参与人数 12金钱 +98 HASS币 +20 收起 理由
pengzb1998 + 2 感谢楼主分享!
cym9007 + 5 感谢楼主分享!
wangguosen + 2 感谢楼主分享!
独心 + 8 感谢楼主分享!
wlaiziyou + 5
p-ftp + 5 感谢楼主分享!
jyz_0501 + 20 厉害了word楼主!
Tao173 + 10 感谢楼主分享!
foxwywh + 5 这么好的帖子居然有人叽叽歪歪.
yezivv + 8 论坛有你更精彩!
+ 20 + 20 大神666!
firewater + 8 膜拜大神!

查看全部评分

回复

使用道具 举报

20

主题

550

帖子

3603

积分

元老级技术达人

积分
3603
金钱
3013
HASS币
210

教程狂人突出贡献

 楼主| 发表于 2021-8-21 17:44:19 | 显示全部楼层
xiaopi 发表于 2021-8-21 16:43
我是按照这个方法装的,怎么设置透传呢https://bbs.hassbian.com/thread-6081-1-1.html

你是啥Wifi模块?如果是ESP系列的,可以用这个ESPHome的组件刷TCP透传
https://github.com/oxan/esphome-stream-server

别的配网设置就是ESPHome那一套

如果实在不会,又想弄透传,直接某宝上买个透传固件的DT-06就行。
回复

使用道具 举报

15

主题

268

帖子

2807

积分

论坛DIY达人

积分
2807
金钱
2524
HASS币
60
发表于 2021-8-31 00:18:58 | 显示全部楼层
感谢大神的集成,之前用esphome读的培正,得自己搞月用电数据啥的。看到帖子试了下改成透传,很容易就成功了。贴一个esphome下ttl透传的代码吧,方便手头有8266的朋友,就不用再买个dt-06了
external_components:
  - source: github://oxan/esphome-stream-server

stream_server:
    uart_id: pzem
    port: 1234
uart:
  rx_pin: 4
  tx_pin: 5
  baud_rate: 9600
  id: pzem

rx_pin和tx_pin根据实际接线修改,id随意。大佬勿喷。

评分

参与人数 1金钱 +8 收起 理由
involute + 8 都是大佬

查看全部评分

回复

使用道具 举报

1

主题

198

帖子

2185

积分

金牌会员

Rank: 6Rank: 6

积分
2185
金钱
1987
HASS币
0
发表于 2021-8-21 00:39:02 | 显示全部楼层
想用这个能源方案,但找不到硬件解决方案,不是太贵, 就是要接线,这个正好!一定要试试,感谢分享!
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24284
金钱
22853
HASS币
290
发表于 2021-8-21 01:32:36 | 显示全部楼层
牛,把这个改成插件形式了,硬件接好后,使用上就更方便了。
之前我用的PZ004电表误差太大,达到了10%左右。后来用立新电表(涂鸦版),误差基本小于1%,安装后也很简洁,就是要动强电的线路。pz004就一直闲置在那了。
回复

使用道具 举报

16

主题

239

帖子

2933

积分

金牌会员

Rank: 6Rank: 6

积分
2933
金钱
2694
HASS币
0
发表于 2021-8-21 08:39:40 | 显示全部楼层
大佬,使用nodemcu模块可以刷您的固件吗?
回复

使用道具 举报

8

主题

229

帖子

1998

积分

金牌会员

Rank: 6Rank: 6

积分
1998
金钱
1769
HASS币
0
发表于 2021-8-21 16:43:29 | 显示全部楼层
我是按照这个方法装的,怎么设置透传呢https://bbs.hassbian.com/thread-6081-1-1.html
回复

使用道具 举报

46

主题

1654

帖子

6672

积分

论坛元老

Rank: 8Rank: 8

积分
6672
金钱
5008
HASS币
40
发表于 2021-8-21 22:38:18 | 显示全部楼层
培正的5v供电好像3.3v也可以
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

46

主题

1654

帖子

6672

积分

论坛元老

Rank: 8Rank: 8

积分
6672
金钱
5008
HASS币
40
发表于 2021-8-21 22:42:02 | 显示全部楼层
楼主我没搞懂TCP透穿,之前大部分教程不都是ttl转到8266上吗,那么你这个模块是为了?
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

20

主题

550

帖子

3603

积分

元老级技术达人

积分
3603
金钱
3013
HASS币
210

教程狂人突出贡献

 楼主| 发表于 2021-8-22 01:41:55 | 显示全部楼层
jjcs 发表于 2021-8-21 22:38
培正的5v供电好像3.3v也可以

问题在于5V电源有现成的USB可以提供,你又去哪方便的弄3.3V电源?
回复

使用道具 举报

20

主题

550

帖子

3603

积分

元老级技术达人

积分
3603
金钱
3013
HASS币
210

教程狂人突出贡献

 楼主| 发表于 2021-8-22 01:45:03 | 显示全部楼层
本帖最后由 involute 于 2021-8-22 04:06 编辑
jjcs 发表于 2021-8-21 22:42
楼主我没搞懂TCP透穿,之前大部分教程不都是ttl转到8266上吗,那么你这个模块是为了? ...

所谓透传就是WiFi-TTL双向透明传输,HA用Modbus-RTU over TCP/UDP直接采集培正的数据。

以往的方案大部分是是TTL转MQTT,我不喜欢MQTT,就酱。
透传也并非必须要TCP透传,配置成UDP透传和TCP透传都可以,让我看,UDP透传效果更好。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-21 21:32 , Processed in 2.387431 second(s), 40 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表