找回密码
 立即注册

微信扫码登录

搜索
查看: 191|回复: 7

[插座] ESPHome 官方现已增加 HLW8032 Power Sensor

[复制链接]

2

主题

10

回帖

157

积分

注册会员

积分
157
金钱
145
HASS币
0
发表于 昨天 12:45 | 显示全部楼层 |阅读模式
本帖最后由 myxvhgiile 于 2025-12-13 12:57 编辑

最近想搞一个智能插座,在站内找到了 和家亲飞利浦SPB9010W刷ESPHOME接入教程 (https://bbs.hassbian.com/thread-28759-1-1.html) 这篇帖子,觉得比较适合我,于是买了两个飞利浦SPB9010W来研究一下。

在研究上面帖子里面给出的代码时发现sensor platform使用的是cse7766,这我就很奇怪,明明说飞利浦SPB9010W所用的电量计是HLW8032,为什么sensor却用cse7766。
在一番检索下才发现,esphome已集成hlw8032 sensor platform,只不过从commit log (https://github.com/esphome/esphome/commit/c7382fc494796dc89f19967c50c61d3c9319e27f) 可以看到是在5天前,不得不说要是再早些天我也就之能用cse7766代替了。


目前hlw8032 sensor platform只是在dev分支,还没有正式发版,我猜可能下个版本就会带上了,我提前体验了一下,并在这里略作分享:
参考上述帖子中和HLW8032 Power Sensor 文档 (https://next.esphome.io/components/sensor/hlw8032/),实现功能如下:
  • GPIO4 蓝色 LED 表示 Wi-Fi 连接状态,熄灭表示未连接,点亮表示成功连接;
  • GPIO16 白色 LED 表示 Home Assistant 连接状态,闪烁表示未连接,熄灭表示成功连接;
  • GPIO14 继电器控制插孔是否输出,上电默认关闭输出;
  • GPIO5 开关用于控制翻转继电器输出状态;
  • 电压分压值使用帖子中所说的 1.88,实测差距不大就没再调整;
  • 电流分流电阻值配置为 0.002欧姆。


用手里的一个PTC加热板简单测了一下电压、电流差距不大:

电流实测

电流实测

电压实测

电压实测


代码如下:
esphome:
  name: philips-spb9010w

esp8266:
  board: esp01_1m

# Enable Home Assistant API
api:
  encryption:
    key: <your api key>

status_led:
  pin: 16

ota:
  - platform: esphome
    password: <your ota password>

safe_mode:

web_server:
  port: 80

wifi:
  networks:
  - ssid: <your ssid>
    password: <your wifi password>
  min_auth_mode: WPA2
  power_save_mode: none
  on_connect:
    - light.turn_on: wifi_state_led
  on_disconnect:
    - light.turn_off: wifi_state_led
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "PHILIPS-SPB9010W"
    password: "12345678"

captive_portal:

# Example configuration entry
substitutions:
  update_interval: 60s

# Disable logging over USB
logger:
  level: INFO
  baud_rate: 0

external_components:
  - source:
      type: git
      url: https://github.com/esphome/esphome
      ref: dev
    components: [ hlw8032 ]

uart:
  rx_pin: GPIO3
  baud_rate: 4800
  parity: EVEN

sensor:
  - platform: hlw8032
    voltage:
      name: "HLW8032 Voltage"
      id: hlw8032_voltage
    current:
      name: "HLW8032 Current"
      id: hlw8032_current
    power:
      name: "HLW8032 Power"
      id: hlw8032_power
    apparent_power:
      name: "HLW8032 Apparent Power"
      id: hlw8032_apparent_power
    power_factor:
      name: "HLW8032 Power Factor"
      id: hlw8032_power_factor
    voltage_divider: 1.88
    current_resistor: 0.002

light:
  - platform: binary
    name: "Wi-Fi State"
    id: wifi_state_led
    output: wifi_state_led_optput
    internal: true

output:
  - id: wifi_state_led_optput
    platform: gpio
    pin: GPIO4

switch:
  - platform: gpio
    name: "Power Control"
    pin: GPIO14
    id: relay
    restore_mode: ALWAYS_OFF

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO5
      mode: INPUT_PULLUP
      inverted: true
    name: "Toggle Relay"
    internal: true
    on_press:
      then:
        - switch.toggle: relay
        - lambda: |
              ESP_LOGI("Toggle Relay", "Relay turned %s",
                id(relay).state ? "ON" : "OFF");
    filters:
      - delayed_on_off: 10ms
其中external_components的部分是为了提前使用尚未发布的hlw8032 sensor platform,等正式发版后就不需要了。

ps: 不知道为什么帖子里面的超链接编辑的时候看是正常的,一保存就没有了,所以我就直接把链接放到括号里了


回复

使用道具 举报

0

主题

21

回帖

1601

积分

金牌会员

积分
1601
金钱
1580
HASS币
0
发表于 昨天 14:06 | 显示全部楼层
大佬  esphome 更新后 无法编译  头疼的很啊  怎么解决这事情啊   都扶墙了都没有用   试了好多方法 了  全不行
回复

使用道具 举报

2

主题

10

回帖

157

积分

注册会员

积分
157
金钱
145
HASS币
0
 楼主| 发表于 昨天 14:25 | 显示全部楼层
ucygaqqqf 发表于 2025-12-13 14:06
大佬  esphome 更新后 无法编译  头疼的很啊  怎么解决这事情啊   都扶墙了都没有用   试了好多方法 了  全 ...

无法编译有什么报错,可以发一下看看
回复

使用道具 举报

0

主题

21

回帖

1601

积分

金牌会员

积分
1601
金钱
1580
HASS币
0
发表于 昨天 14:45 | 显示全部楼层
myxvhgiile 发表于 2025-12-13 14:25
无法编译有什么报错,可以发一下看看

全红字 。  刚开始的大批人一样 。说虚拟安装不了什么的 。听他们说用魔法就解决了我弄了好几天 。都不行哎 。   老版本都能用 。 只是新版本才有问题25.7 以上都不行
回复

使用道具 举报

2

主题

10

回帖

157

积分

注册会员

积分
157
金钱
145
HASS币
0
 楼主| 发表于 昨天 15:01 | 显示全部楼层
ucygaqqqf 发表于 2025-12-13 14:45
全红字 。  刚开始的大批人一样 。说虚拟安装不了什么的 。听他们说用魔法就解决了我弄了好几天 。都不行 ...

完整log和代码发一下,你这么说没法知道是什么问题
回复

使用道具 举报

15

主题

309

回帖

1647

积分

金牌会员

积分
1647
金钱
1313
HASS币
40
发表于 昨天 15:08 | 显示全部楼层
voltage_divider: 默认值1.72,以及其他人说的1.925,楼主都试过没?哪个值更准?
回复

使用道具 举报

2

主题

10

回帖

157

积分

注册会员

积分
157
金钱
145
HASS币
0
 楼主| 发表于 昨天 15:39 | 显示全部楼层
本帖最后由 myxvhgiile 于 2025-12-13 15:41 编辑
lovelyelfpop 发表于 2025-12-13 15:08
voltage_divider: 默认值1.72,以及其他人说的1.925,楼主都试过没?哪个值更准? ...

默认值的1.72差了好像20v左右我记得,此外我就试了1.88,然后万用表读数和hlw8032测得的就差1v左右我就懒得再试了
回复

使用道具 举报

15

主题

309

回帖

1647

积分

金牌会员

积分
1647
金钱
1313
HASS币
40
发表于 昨天 19:28 来自手机 | 显示全部楼层
myxvhgiile 发表于 2025-12-13 15:39
默认值的1.72差了好像20v左右我记得,此外我就试了1.88,然后万用表读数和hlw8032测得的就差1v左右我就懒 ...

那个电流好像是视在功率对应的电流,不是有功功率的电流。没负载的时候显示的那个电池都挺大的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 07:29 , Processed in 0.052901 second(s), 6 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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