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

 找回密码
 立即注册
查看: 1073|回复: 6

[经验分享] 复制WIFI多路电量表,改进代码和配置

[复制链接]

3

主题

54

帖子

557

积分

高级会员

Rank: 4

积分
557
金钱
503
HASS币
0
发表于 2024-6-6 14:55:01 | 显示全部楼层 |阅读模式
本帖最后由 wbc 于 2024-6-6 14:58 编辑


复制了《[硬件DIY] 【小白首发】ESPhome自制WIFI多路电量表》
家里配电箱刚好6路分线,看到上面大佬的电量表分别检测正合适。而且之前折腾过 pzem跟铁通插座,使用esphome来收集电量数据也不陌生了。

硬件方面直接复制了上面帖子里面的jlc项目,只在背面做了铺铜,在强电弱电之间做了挖孔。
买原件焊接没遇到什么问题。

主要来到软件方面,
1. 修改了 esphome component,注释了校正部分,增加了重置 bl0906芯片电量
2. esphome 配置因为增加了铁通插座相仿的全局变量存储电度量 功能,导致配置太长,用jinja来生成

使用 bl0906 component
external_components:
  - source: github://yishiyiyuan/esphome_components
    components: [ bl0906 ]

sensor:
  - platform: bl0906
    id: id_sensor_bl0906
  # 其他配置

button:
  #重置计量芯片寄存器上的电度量
  - platform: template
    name: "{{ name_prefix}} Reset Energy Raw"
    id: {{ id_prefix }}_button_reset_energy_total
    entity_category: config
    on_press:
      then:
        # 重置芯片寄存器
        - bl0906.reset_energy: id_sensor_bl0906

如何使用 jinja2 生成配置文件
首先下载代码 https://github.com/YiShiYiYuan/e ... refs/heads/main.zip,解压进入到examples目录下,
修改bl0906.jinja2 可以更改每一路的名字,修改方法:
修改配置中id的前缀,一般不用修改(注意不要把这句话放到bl0906.jinja2文件中)
最后运行 `python render.py` 可输出全段的配置(不包含名字网络等配置)。

回复

使用道具 举报

3

主题

54

帖子

557

积分

高级会员

Rank: 4

积分
557
金钱
503
HASS币
0
 楼主| 发表于 2024-6-6 15:05:11 | 显示全部楼层
连续编辑了好几次,最后jinja代码也没显示出来,才反应过来论坛可能用jinja2渲染?

贴图重写下:
第1行:配置中id的前缀,一般不用修改
第2行:名字的前缀,在esphome和homeassistant中名字的前缀,也提现在实体id中,比较方便区分是哪个设备
第3行:6路分别的名字,这里一共7个,因为电能&功率有个总计值。这7个可根据自己需要修改名字,但不要减少
第4行及以下在bl0906中不需要修改,跳过
未命名.png
回复

使用道具 举报

3

主题

54

帖子

557

积分

高级会员

Rank: 4

积分
557
金钱
503
HASS币
0
 楼主| 发表于 2024-6-6 15:12:25 | 显示全部楼层
本帖最后由 wbc 于 2024-6-6 15:14 编辑

贴一下效果图

111.png

222.png

AP Current XXX -- 电流值
AP Energy XXX -- esphome中全局变量存储的电量值,每隔一段时间写入flash,重启后不丢失
AP Energy Chip XXXX -- 从 bl0906 中读取的,重启时有重置bl0906,会重新开始累积
AP Energy XXX Today -- 今日XXX电量

按钮:
AP Reset Energy Raw -- 清零 esp 跟 bl0906 中的电量
AP Reset Energy Today -- 只清零今日电量
回复

使用道具 举报

0

主题

7

帖子

246

积分

中级会员

Rank: 3Rank: 3

积分
246
金钱
239
HASS币
0
发表于 2024-6-6 22:25:24 | 显示全部楼层
本帖最后由 scolars 于 2024-6-7 11:45 编辑

没有bl0906.jinja2这个文件呀,我用了bl0906.yml这个文件,可以用。

回复

使用道具 举报

3

主题

54

帖子

557

积分

高级会员

Rank: 4

积分
557
金钱
503
HASS币
0
 楼主| 发表于 2024-6-7 14:22:03 | 显示全部楼层
scolars 发表于 2024-6-6 22:25
没有bl0906.jinja2这个文件呀,我用了bl0906.yml这个文件,可以用。

谢谢提醒,的确漏传了,刚刚补充上。
回复

使用道具 举报

1

主题

28

帖子

194

积分

注册会员

Rank: 2

积分
194
金钱
166
HASS币
0
发表于 2024-10-11 09:25:24 | 显示全部楼层
大佬。 你这个配置后, 如果电表断电或者说停电后, 电量数据会全部丢失吗?
我看了帖子2楼说,每个一段时间写入flash,  这个flash是电量芯片bl0906的,还是esp的?
你是用esp8266还是 32?
烦请楼主解惑。
回复

使用道具 举报

3

主题

54

帖子

557

积分

高级会员

Rank: 4

积分
557
金钱
503
HASS币
0
 楼主| 发表于 2024-10-27 17:08:13 | 显示全部楼层
zwd 发表于 2024-10-11 09:25
大佬。 你这个配置后, 如果电表断电或者说停电后, 电量数据会全部丢失吗?
我看了帖子2楼说,每个一段时 ...

用的esp8266,间隔10分钟保存一下flash,太频繁了缩短flash寿命
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 05:45 , Processed in 0.138281 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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