背景:
我有一个培正电表,但他与国家电网的数据有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的数据,那就直接返回自身数据(一直无法实现)
|