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

 找回密码
 立即注册
楼主: zbsyouran

[硬件DIY] 闲鱼10块钱包邮的鸿雁带计量半成品插座改ESPHOME + Tasmota

[复制链接]

4

主题

28

帖子

292

积分

论坛DIY达人

积分
292
金钱
264
HASS币
10
发表于 2024-12-24 22:43:49 | 显示全部楼层
本帖最后由 slychen 于 2024-12-27 14:53 编辑

前几天闲着没事也买了块这个板子,根据楼主的描述仔细看了下板子,这板子是采用HWL8012来检测功率,HWL8012是个将电压电流的模拟信号转为脉冲信号给下面的单片机来检测功率的芯片,有三个输出脚分别为CF、CF1、SEL,其中CF1脚是由SEL脚来切换输出检测电流和电压的脉冲信号,CF脚输出有功高频脉冲,这板子只利用了其中CF通过隔离光耦输出到esp8266,估计设计时为了节约隔离光耦成本另两个脚是空置的,但esphome到HLW8012的语法必须要这三个引脚,所以楼主用了几个没用的引脚来分配给它。找了个以前闲置的德力

substitutions:
  voltage_divider: "1991"  # 电压分压比
  current_resistor: "0.000694"  # 检流电阻

# HLW8012传感器配置
sensor:
  - platform: hlw8012
    current_resistor: ${current_resistor}  # 检流电阻值
    voltage_divider: ${voltage_divider}  # 电压分压比
    cf_pin:
      number: GPIO14  # CF 引脚
      mode: INPUT
      #inverted: true  # 在这里直接反转信号
    cf1_pin:
      number: GPIO2  # CF1 引脚
      mode: INPUT
    sel_pin:
      number: GPIO0  # SEL 引脚
      mode: OUTPUT
    power:
      name: "HLW8012 Power"
    voltage:
      name: "HLW8012 Voltage"
    current:
      name: "HLW8012 Current"
    update_interval: 10s

# 开机时间WI-FI信号及信号强度

  - platform: uptime
    id: uptime_s
    update_interval: 300s
    internal: true

  - platform: wifi_signal
    name: "WiFi Signal"
    id: wifi_signal_db
    update_interval: 30s
    internal: true
    entity_category: "diagnostic"

  - platform: copy
    source_id: wifi_signal_db
    name: "WiFi Signal"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP"
      id: id_sensor_ip
      icon: mdi:ip

  - platform: template
    name: "Uptime"
    lambda: |-
      uint32_t dur = id(uptime_s).state;
      int dys = 0;
      int hrs = 0;
      int mnts = 0;
      if (dur > 86399) {
        dys = trunc(dur / 86400);
        dur = dur - (dys * 86400);
      }
      if (dur > 3599) {
        hrs = trunc(dur / 3600);
        dur = dur - (hrs * 3600);
      }
      if (dur > 59) {
        mnts = trunc(dur / 60);
        dur = dur - (mnts * 60);
      }
      char buffer[40];  // 增加缓冲区大小
      snprintf(buffer, sizeof(buffer), "%ud %02uh %02um %02us", dys, hrs, mnts, dur);  // 使用 snprintf
      return {buffer};
    icon: mdi:clock-start
    update_interval: 60s
# GPIO开关配置
switch:
  - platform: gpio
    id: relay
    pin: GPIO15
    name: "SWITCH"
    restore_mode: ALWAYS_ON      
    on_turn_on:
      - output.turn_on: Orange_led

    on_turn_off:
      - output.turn_off: Orange_led


  - platform: gpio
    id: usb
    pin: GPIO13
    name: "USB_Switch"
    on_turn_on:
      - output.turn_on: blue_led  # USB开启时点亮status_led
    on_turn_off:
      - output.turn_off: blue_led

# LED和按钮配置
output:
  - platform: gpio
    id: Orange_led
    pin: GPIO12
    inverted: true  # 反转信号
  - platform: gpio
    id: blue_led
    pin: GPIO05
    inverted: true  # 反转信号

# 按钮配置
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO04
      #inverted: true
      mode:
        input: true
        pullup: true
    name: "button"   
    internal: true #此按钮不在HA中显示
    on_multi_click: 
    - timing:  #单击
        - ON for at most 1s
        - OFF for at least 0.5s
      then:
        - switch.toggle: relay
        - logger.log: "[Single Click] toggle relay"
    - timing:  #双击
        - ON for at most 1s
        - OFF for at most 0.3s
        - ON for at most 1s
        - OFF for at least 0.2s
      then:
        - switch.toggle: usb
        - logger.log: "[Double Click] toggle usb"
    - timing:  #长按
        - ON for 1s to 3s
        - OFF for at least 0.5s
      then:
        - switch.turn_off: usb  
        - switch.turn_off: relay         
        - logger.log: "[Single Long Click] both off"

time:
  - platform: sntp
    id: my_time


里面的位置正好够尺寸

里面的位置正好够尺寸

掏出个USB孔

掏出个USB孔

随便整了个按键

随便整了个按键
回复

使用道具 举报

4

主题

28

帖子

292

积分

论坛DIY达人

积分
292
金钱
264
HASS币
10
发表于 2024-12-25 11:01:45 | 显示全部楼层
把玩了下发现这个东西实用性不是很大,没有外壳去买个外壳要十多块钱,改到插座里用体积又太大,海鲜市场上10元左右的功能接近的多得去,而且体积小塞插座里也很方便。

带电量hlw8012检测芯片引脚完整能检测电压电流

带电量hlw8012检测芯片引脚完整能检测电压电流

去掉一个口正好塞下保留原来的电源开关

去掉一个口正好塞下保留原来的电源开关
回复

使用道具 举报

9

主题

79

帖子

527

积分

论坛分享达人

积分
527
金钱
448
HASS币
0
发表于 2024-12-30 02:59:55 | 显示全部楼层
还是十几块的和家亲带计量比较香 有的能用tuya接入 有的能博联接入 有的能和家亲接入 比较完美的还是博联接入
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-3 04:44 , Processed in 0.257696 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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