HA 穷折腾(四)DIY智能电表
本帖最后由 dianxin11 于 2024-4-13 22:22 编辑海鲜市场淘到一个有协议的1p电表,价格美丽,趁着过年时间充裕,DIY了一个智能电表。
# 所需材料
* DDSU1778未知品牌带协议1p电表。价格 90元5个,平均18一个。
* 1p空开1个,PDD3元一个。
* 485转ttl模块,淘宝2元一个。
* ams1117 3v模块 1元。
* esp01s模块一个 5元。
* 船型开关 算1元。
* 5v报废充电头。
合计30元。
!(https://b2.leep.top/0f96ca3a729ab9a32e2ce8255a0b41fb.webp)
# 电表相关资料
这个电表默认的就是Modbus-RTU协议,不过没有资料,地址是我用串口工具一点点调试出来的,有不正确的地方望指正。
第一屏和第二屏显示的是电表的地址。第一屏是低6位,第二屏高6位。共12位地址。测试后发现几块表默认地址都是0x000000000001和电表侧面标识一致。
!(https://b2.leep.top/8a557e8d666eb9e9247f043c033c3a77.webp)
第三屏显示的是串口速率,要根据这里的数据配置串口通信速率。
!(https://b2.leep.top/0442d7c40e461d39628ceda997ca8f9b.webp)
第四屏显示的是用电量。后面分别电压、电流、功率因数、频率。
!(https://b2.leep.top/974eddbef8e4fc54d3950a0f2c32e64f.webp)
# 硬件及接线
* 5v充电头接ams1117,输出3.3v分别给esp01和485转ttl模块供
* esp01的tx接485模块的tx,rx接rx。
* 485模块的A,B分别接电表的5,6口。
* 将接好的模块放入提前掏空的空开中。
成品效果如下:
!(https://b2.leep.top/a30889fd56d5c92c1147152af3b9f2c3.webp)
!(https://b2.leep.top/3c15447d37c8e59dc0c2a12ea4e0aefc.webp)
# esphome配置文件
``` YAML
substitutions:
device_name: "ddsu1778_01"
esphome:
name: ${device_name}
esp8266:
board: esp01_1m
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: ""
ota:
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Ddsu1778-01 Fallback Hotspot"
password: ""
captive_portal:
uart:
id: ${device_name}_uart
tx_pin: 1
rx_pin: 3
baud_rate: 2400
# parity: even
stop_bits: 2
modbus:
id: ${device_name}_modbus
send_wait_time: 200ms
modbus_controller:
- id: ${device_name}_modbus_controller
modbus_id: ${device_name}_modbus
address: 0x01
command_throttle: 200ms
setup_priority: -10
update_interval: 30s
sensor:
- platform: modbus_controller
modbus_controller_id: ${device_name}_modbus_controller
id: ${device_name}_modbus_u
name: U #电压
address: 0x06
#register_count: 2
unit_of_measurement: V
register_type: holding
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
device_class: voltage
- platform: modbus_controller
modbus_controller_id: ${device_name}_modbus_controller
id: ${device_name}_modbus_i
name: I #电流
address: 0x08
#register_count: 2
unit_of_measurement: A
register_type: holding
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.001
device_class: current
- platform: modbus_controller
modbus_controller_id: ${device_name}_modbus_controller
id: ${device_name}_modbus_p
name: P #瞬时总有功功率
address: 0x09
#register_count: 2
unit_of_measurement: W
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
device_class: power
- platform: modbus_controller
modbus_controller_id: ${device_name}_modbus_controller
id: ${device_name}_modbus_pf
name: PF #功率因数
address: 0x0B
#register_count: 2
register_type: holding
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.001
device_class: power_factor
- platform: modbus_controller
modbus_controller_id: ${device_name}_modbus_controller
id: ${device_name}_modbus_freq
name: Freq #频率
address: 0x0C
#register_count: 2
unit_of_measurement: Hz
register_type: holding
value_type: U_WORD
filters:
- multiply: 0.01
accuracy_decimals: 2
- platform: modbus_controller
modbus_controller_id: ${device_name}_modbus_controller
id: ${device_name}_modbus_ep
name: Ep #总有功电能
address: 0x03
#register_count: 2
unit_of_measurement: kWh
register_type: holding
value_type: U_WORD
accuracy_decimals: 2
device_class: energy
state_class: total_increasing
filters:
- median:
window_size: 3
send_every: 3
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: ${device_name}_modbus_controller
id: ${device_name}_modbus_ep1
name: Ep1
address: 0x01
#register_count: 2
unit_of_measurement: kWh
register_type: holding
value_type: U_WORD
accuracy_decimals: 2
device_class: energy
state_class: total_increasing
filters:
- multiply: 0.01
```
Ep 和Ep1两个读数一致(目前),不知道哪个才是总有功电能。
![[email protected]](https://b2.leep.top/94bf6bc81a0029d86b3bad70042f2bd2.webp)
参考文章 https://github.com/liwei19920307/ESP485
实在是牛,我之前买过几个类似的,没任何标识的电表,现在连怎么接线都忘记了........ 另外,大神,这应该是第四期了:lol 囧 发表于 2023-3-6 19:13
另外,大神,这应该是第四期了
哈哈,过个年过懵了,感谢囧大帮忙改正。我的笔记里少记录了一篇,我给忘记了。 ep应该是当前总电量
ep1应该是上月总电量 落花萧然 发表于 2023-3-7 11:01
ep应该是当前总电量
ep1应该是上月总电量
应该不是,我跑几个月了,读数目前还是一样的。 这真是高手 猛人啊,感谢分享!!! 大佬图挂了,能否补个图? 大佬图挂了,能否补个图?
页:
[1]
2