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

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

[经验分享] [更新-计量已搞定]20元的中移铁通插排:ESP+功率计量

  [复制链接]

0

主题

9

帖子

114

积分

注册会员

Rank: 2

积分
114
金钱
105
HASS币
0
发表于 2023-12-16 18:30:27 | 显示全部楼层
本帖最后由 娄凉生 于 2023-12-16 18:31 编辑
esphome:
  name: powerboard-cmcc
  project:
    name: "CMCC.CMPOWER W1"
    version: "CMCC"

esp8266:
  board: esp_wroom_02
  restore_from_flash: false

logger:

api:
  reboot_timeout: 0s

ota:

wifi:
  ssid: 'L'
  password: '1234567890'
  ap:
    ssid: "Powerboard Hotspot"

captive_portal:

web_server:
  port: 80

switch:
  - platform: gpio
    pin: 5
    inverted: true
    id: gpio5
    name: "Powerboard LED"
    icon: mdi:led-off
  - platform: gpio
    pin: 0
    inverted: true
    id: gpio0
    restore_mode: ALWAYS_ON
    name: "Powerboard Master"
    icon: mdi:led-strip
    on_turn_on:
      then:
        - switch.turn_on: gpio5
        - switch.turn_on: gpio15
    on_turn_off:
      then:
        - switch.turn_off: gpio5
        - switch.turn_on: gpio15
  - platform: gpio
    pin: 12
    inverted: true
    id: gpio12
    restore_mode: RESTORE_DEFAULT_ON
    name: "Powerboard Branch"
    icon: mdi:power-socket-au
    on_turn_on:
      then:
        - switch.turn_on: gpio0
        - switch.turn_on: gpio15
    on_turn_off:
      then:
        - switch.turn_on: gpio15
  - platform: gpio
    pin: 15
    inverted: true
    id: gpio15
    on_turn_on:
    - delay: 100ms
    - switch.turn_off: gpio15

binary_sensor:
  - platform: gpio
    id: gpio4
    pin: 
      number: 4
      inverted: true
    on_click:
      then:
        - switch.toggle: gpio0
    # on_double_click:
    #   then:
    #     - switch.toggle: gpio12

sensor:
  - platform: wifi_signal
    name: "Powerboard Signal"

button:
  - platform: restart
    name: "Powerboard Restart"

status_led:
  pin:
    number: 14
    inverted: true

回复

使用道具 举报

0

主题

9

帖子

114

积分

注册会员

Rank: 2

积分
114
金钱
105
HASS币
0
发表于 2023-12-16 18:32:26 | 显示全部楼层

重新写了一下代码,想双击按钮控制支路分控好像总是不太行,希望有大佬优化一下
回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2023-12-16 20:04:59 | 显示全部楼层
本帖最后由 szlww 于 2023-12-16 20:10 编辑
娄凉生 发表于 2023-12-16 18:32
重新写了一下代码,想双击按钮控制支路分控好像总是不太行,希望有大佬优化一下 ...
    #插排电源按钮单击、长按功能
    on_multi_click:
    #长按5s以上,重置为出厂模式,进入配网状态
    - timing:
        - ON for at least 5s
      then:
        - logger.log: "Long press."
        - switch.turn_on: ${node_id}_factory_reset
      invalid_cooldown: 0s
    #双击
    - timing:
        - ON for at most 0.5s
        - OFF for at most 0.5s
        - ON for at most 0.5s
        - OFF for at least 0.2s
      then:
        - logger.log: "Double click."
        - switch.toggle: relay_slave_logic
      invalid_cooldown: 0s      
    #单击
    - timing:
        - ON for at most 0.3s
        - OFF for at least 0.2s
      then:
        - logger.log: "Single click."
        - switch.toggle: key_button_logic
      invalid_cooldown: 0s


过会我把我自用的yaml发到二楼,之前那个是通用版,方便各位坛友自己个性化定制。
回复

使用道具 举报

36

主题

172

帖子

1383

积分

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1211
HASS币
0
发表于 2023-12-16 22:09:18 来自手机 | 显示全部楼层
wifi指示灯不写?我发那个捡垃圾插排修改版就是
回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2023-12-16 23:06:52 | 显示全部楼层
本帖最后由 szlww 于 2023-12-16 23:10 编辑
wodepiqi 发表于 2023-12-16 22:09
wifi指示灯不写?我发那个捡垃圾插排修改版就是

你写的那个挺好,能显示wifi连接信息。这个wifi指示区比较特殊,有两个灯,esphome的连接状态一般都用status_led,来显示wifi,api等其他连接、报错等状态信息,但是只能用一个灯。esphome支持把俩灯合并成一个灯,但是又没开放status_led的模版,如果要自己实现一个自定义的status_led需要写不少代码。
output:
  #蓝色led
  - platform: esp8266_pwm
    id: pin_led_blue
    pin: GPIO16
    inverted: true

  #红色led
  - platform: esp8266_pwm
    id: pin_led_red
    pin: GPIO14
    inverted: true
light:
  - platform: cwww
    name: "Status Lights"
    cold_white: pin_led_blue
    warm_white: pin_led_red
    cold_white_color_temperature: 6536 K
    warm_white_color_temperature: 2000 K
    constant_brightness: true

回复

使用道具 举报

22

主题

239

帖子

1533

积分

金牌会员

Rank: 6Rank: 6

积分
1533
金钱
1294
HASS币
0
发表于 2023-12-17 12:38:22 | 显示全部楼层
szlww 发表于 2023-12-11 11:13
闲鱼搜 铁通插排
提供esphome两个配置文件,一个通用版,一个自用版,按需选择
1.通用版本

你检查 一下代码。都说不支持 —  这些    Dashes are not supported in IDs, please use underscores instead.
回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2023-12-17 13:24:02 | 显示全部楼层
本帖最后由 szlww 于 2023-12-17 13:29 编辑
ekingfan 发表于 2023-12-17 12:38
你检查 一下代码。都说不支持 —  这些    Dashes are not supported in IDs, please use underscores in ...

#注意事项:
# 1.固件的编译环境为esphome-v2023.11.4,可正常编译运行;不想升级esphome版本,则需要修改min_version的值,尝试编译固件。
配置文件跟我的一样么?看报错信息是你的id用的横线,id不支持横线,改成下划线试试呢。
二楼添加了代码注释,实在不行先拉齐版本到2023.11.4试试吧。

回复

使用道具 举报

22

主题

239

帖子

1533

积分

金牌会员

Rank: 6Rank: 6

积分
1533
金钱
1294
HASS币
0
发表于 2023-12-17 16:24:02 | 显示全部楼层
szlww 发表于 2023-12-17 13:24
配置文件跟我的一样么?看报错信息是你的id用的横线,id不支持横线,改成下划线试试呢。
二楼添加了代码 ...

就是你的代码啊。你大量使用_
我的版本  2023.11.3 Documentation

substitutions:
  node_name: cmcc-powerboard
  node_id: cmcc_powerboard
  node_name_friendly: ${node_name}
esphome:
  name: ${node_name}
  min_version: 2023.11.4
esp8266:
  board: esp_wroom_02
  restore_from_flash: false  

wifi:
  ap:
    ssid: "${node_id} hotspot"
    password: !secret ap_password
回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2023-12-17 16:30:08 | 显示全部楼层
本帖最后由 szlww 于 2023-12-17 16:32 编辑
ekingfan 发表于 2023-12-17 16:24
就是你的代码啊。你大量使用_
我的版本  2023.11.3 Documentation

id用下划线“_”没错,不能用“-”。能导出一份完整的yaml源文件么?看看哪里的问题,我这边都正常啊
回复

使用道具 举报

16

主题

140

帖子

1754

积分

金牌会员

Rank: 6Rank: 6

积分
1754
金钱
1614
HASS币
20
发表于 2023-12-17 18:02:29 | 显示全部楼层
大佬。坐等计量功能
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-6 12:26 , Processed in 0.054796 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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