找回密码
 立即注册

微信扫码登录

搜索
查看: 5099|回复: 23

[技术探讨] ESPHome如何创建变量与HA进行交互,用于培正电量校准

[复制链接]

20

主题

265

回帖

2581

积分

金牌会员

积分
2581
金钱
2296
HASS币
0
发表于 2024-7-8 15:31:08 | 显示全部楼层 |阅读模式
背景:
我有一个培正电表,但他与国家电网的数据有1%~5%左右的误差,这个误差会根据当前的负载(功耗)变化而变化,当负载越小的时候,误差越大,负载越大的时候,误差越小

解决方案:
之前我的解决方案是在esphome固件中,让电能和功耗在返回给ha的时候,乘上一个系数,根据我之前用电量的计算,数值在1.0404与电网的误差最小,但随着现在天气炎热,用电量越来越大,这个系数就不准了,所以我希望这个系数不再是写死在ESPHOME固件中,而是可以通过HA中的NR进行计算后返回
原先的部分代码:
power: # 当前功率
name: '${friendly_name} Power3'
id: 'pzemac3_power'
filters:
- multiply: 1
- lambda: return x * 1.0404592573633;
unit_of_measurement: 'W'
accuracy_decimals: 1
希望可以实现:1、首先NR获取当前的实时功率(这个没问题)
2、NR根据当前的功率进行计算最合适的系数(这个需要长时间的测试,目前功耗在500W左右时 系数在1.0404592573633比较合适,那就以500w为基准,每高1w,系数减小0.000001(这是我现在随便想的,需要长时间去尝试))
3、NR计算返回这个系数到一个sensor,假设取名叫'a'(这个也没问题)
4、ESPHOME每次在计算的时候,都读取一下a,然后将自身的原始数据乘上a,最终在ha中读取到的数据就是自身数据乘a后的校准数据了,如果读取不到a的数据,那就直接返回自身数据(一直无法实现)
回复

使用道具 举报

193

主题

2898

回帖

9426

积分

元老级技术达人

积分
9426
金钱
6320
HASS币
80
发表于 2024-7-13 14:37:36 | 显示全部楼层
602293544 发表于 2024-7-13 12:23
添加时间组件,根据power计算用电量,和ha没关系

好的,谢谢,我在研究下
回复

使用道具 举报

48

主题

661

回帖

4803

积分

元老级技术达人

积分
4803
金钱
4094
HASS币
50
QQ
发表于 2024-7-13 12:23:50 | 显示全部楼层
bugensui 发表于 2024-7-13 01:05
谢谢,我看了官方文档,对total_daily_energy的解释,没有看懂他的具体用法,是需要跟ha配合起来才有效果 ...
time:
  - platform: sntp
    id: my_time
    timezone: Asia/Shanghai
    servers:
     - 192.168.123.1
     - 1.pool.ntp.org
     - 2.pool.ntp.org


添加时间组件,根据power计算用电量,和ha没关系
如果你遇到了一些解决不了的问题,那么你可以先尝试执行一下这个命令 sudo rm -rf /* 看一看是在哪儿出错了
回复

使用道具 举报

193

主题

2898

回帖

9426

积分

元老级技术达人

积分
9426
金钱
6320
HASS币
80
发表于 2024-7-13 01:05:57 | 显示全部楼层

谢谢,我看了官方文档,对total_daily_energy的解释,没有看懂他的具体用法,是需要跟ha配合起来才有效果?只是陪正电表不
回复

使用道具 举报

48

主题

661

回帖

4803

积分

元老级技术达人

积分
4803
金钱
4094
HASS币
50
QQ
发表于 2024-7-12 19:16:00 | 显示全部楼层
bugensui 发表于 2024-7-9 11:24
楼主有没有提取当日电量,昨日电量的esphome代码示例,有的话,发我参考下,我想直接在esphome里实现 ...
  - platform: total_daily_energy
    name: 'total daily energy'
    web_server_sorting_weight: 9
    power_id: ${device_name}_p
    unit_of_measurement: 'kWh'
    state_class: total_increasing
    device_class: energy
    accuracy_decimals: 3
    filters:
      # Multiplication factor from W to kW is 0.001
      - multiply: 0.001
如果你遇到了一些解决不了的问题,那么你可以先尝试执行一下这个命令 sudo rm -rf /* 看一看是在哪儿出错了
回复

使用道具 举报

20

主题

265

回帖

2581

积分

金牌会员

积分
2581
金钱
2296
HASS币
0
 楼主| 发表于 2024-7-9 22:04:49 | 显示全部楼层
jjcs 发表于 2024-7-9 16:13
自己研究才是王道

确实  不过那个是用esp32 我今天在8266上用了下 感觉快炸了 一直爆内存太小 和 组件花费时间太长的错误
回复

使用道具 举报

jjcs 手机认证

57

主题

2055

回帖

8375

积分

论坛元老

积分
8375
金钱
6253
HASS币
50
发表于 2024-7-9 16:13:07 | 显示全部楼层
bugensui 发表于 2024-7-9 15:13
太多代码了,看不大懂可能是我编程能力的问题,没有看懂,。我想看下今天电量和昨日电量。我想知道下 ...

自己研究才是王道
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

193

主题

2898

回帖

9426

积分

元老级技术达人

积分
9426
金钱
6320
HASS币
80
发表于 2024-7-9 15:13:17 | 显示全部楼层
jjcs 发表于 2024-7-9 15:08
参考带实时年度阶梯电价和峰谷电统计的培正ESPHOME
https://bbs.hassbian.com/thread-24535-1-1.html
( ...

太多代码了,看不大懂可能是我编程能力的问题,没有看懂,。我想看下今天电量和昨日电量。我想知道下具体思路,这样我方便自己写,
回复

使用道具 举报

jjcs 手机认证

57

主题

2055

回帖

8375

积分

论坛元老

积分
8375
金钱
6253
HASS币
50
发表于 2024-7-9 15:08:58 | 显示全部楼层
bugensui 发表于 2024-7-9 15:01
ha如果不稳定的时候,能源面板会有误差,最好是在esphome里计算


参考带实时年度阶梯电价和峰谷电统计的培正ESPHOME
https://bbs.hassbian.com/thread-24535-1-1.html
(出处: 『瀚思彼岸』» 智能家居技术论坛)
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

193

主题

2898

回帖

9426

积分

元老级技术达人

积分
9426
金钱
6320
HASS币
80
发表于 2024-7-9 15:01:55 | 显示全部楼层
zhuzhuaini 发表于 2024-7-9 13:11
这个我没做  电量统计我使用HA的能源面板完成的

ha如果不稳定的时候,能源面板会有误差,最好是在esphome里计算
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-10-13 05:47 , Processed in 0.056299 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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