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

标题: HA 穷折腾(四)DIY智能电表 [打印本页]

作者: dianxin11    时间: 2023-3-6 16:48
标题: HA 穷折腾(四)DIY智能电表
本帖最后由 dianxin11 于 2024-4-13 22:22 编辑

海鲜市场淘到一个有协议的1p电表,价格美丽,趁着过年时间充裕,DIY了一个智能电表。


所需材料



合计30元。


3691678084905_.pic_副本.jpg


电表相关资料


这个电表默认的就是Modbus-RTU协议,不过没有资料,地址是我用串口工具一点点调试出来的,有不正确的地方望指正。


第一屏和第二屏显示的是电表的地址。第一屏是低6位,第二屏高6位。共12位地址。测试后发现几块表默认地址都是0x000000000001和电表侧面标识一致。

3581678081805_.pic_副本.jpg


第三屏显示的是串口速率,要根据这里的数据配置串口通信速率。

3611678081806_.pic_副本.jpg


第四屏显示的是用电量。后面分别电压、电流、功率因数、频率。

3591678081805_.pic_副本.jpg


硬件及接线



成品效果如下:

3661678081831_.pic_副本.jpg


3651678081830_.pic_副本.jpg


esphome配置文件


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两个读数一致(目前),不知道哪个才是总有功电能。


WX20230306-163406@2x.png


参考文章 https://github.com/liwei19920307/ESP485



作者: sorrypqa    时间: 2023-3-6 18:48
实在是牛,我之前买过几个类似的,没任何标识的电表,现在连怎么接线都忘记了........
作者: 囧    时间: 2023-3-6 19:13
另外,大神,这应该是第四期了
作者: dianxin11    时间: 2023-3-6 21:11
囧 发表于 2023-3-6 19:13
另外,大神,这应该是第四期了

哈哈,过个年过懵了,感谢囧大帮忙改正。我的笔记里少记录了一篇,我给忘记了。
作者: 落花萧然    时间: 2023-3-7 11:01
ep应该是当前总电量
ep1应该是上月总电量
作者: dianxin11    时间: 2023-3-7 20:04
落花萧然 发表于 2023-3-7 11:01
ep应该是当前总电量
ep1应该是上月总电量

应该不是,我跑几个月了,读数目前还是一样的。
作者: hackyjso    时间: 2023-3-14 16:00
这真是高手
作者: marshmallow    时间: 2023-8-10 09:17
猛人啊,感谢分享!!!
作者: 小石头    时间: 2023-8-13 18:13
大佬图挂了,能否补个图?
作者: zhwh1976    时间: 2023-8-17 16:47
大佬图挂了,能否补个图?
作者: dianxin11    时间: 2023-8-18 22:17
zhwh1976 发表于 2023-8-17 16:47
大佬图挂了,能否补个图?

补上了
作者: mayouz    时间: 2023-10-18 23:03
厉害的大家
作者: zsxiaojz    时间: 2023-11-9 18:15
Ep和Ep1两个读数问题解决了吗?DDSU1778要拆开接56口吗?
作者: dianxin11    时间: 2023-11-14 21:53
zsxiaojz 发表于 2023-11-9 18:15
Ep和Ep1两个读数问题解决了吗?DDSU1778要拆开接56口吗?

读数到目前还是一致的,我猜测可能一个是总有功电能,一个是正向有功电能。

56接口跟接零火线方法一样,螺丝刀就行。
作者: anfjack    时间: 2024-4-4 01:37
大佬,我填写自家2.4GWiFi后,还是未能连接上WiFi。怎么查找原因呢?

作者: dianxin11    时间: 2024-4-13 22:22
补图
作者: erich_213    时间: 2024-4-14 12:55
这个可以有。
作者: sdmcu    时间: 2025-4-25 15:27
猛人啊,感谢分享!!!
作者: sdmcu    时间: 2025-4-25 15:29
猛人啊,感谢分享!!!




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5