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

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

[经验分享] 【最终版本-代码开源】20元的中移铁通插排:esp+功率计量

  [复制链接]

10

主题

184

帖子

1822

积分

论坛技术达人

积分
1822
金钱
1633
HASS币
20
 楼主| 发表于 2024-1-14 16:20:36 | 显示全部楼层
sauron 发表于 2024-1-12 22:25
连mqtt好像会不断重启,不知道是不是个例

我没用mqtt模式,用的是api模式。你添加一下下面的yaml配置,可以显示重启原因

logger:
  level: DEBUG
  baud_rate: 0
debug:
  update_interval: 5s

text_sensor:
  - platform: debug
    device:
      name: "Device Info"
    reset_reason:
      name: "Reset Reason"

sensor:
  - platform: debug
    free:
      name: "Heap Free"
    fragmentation:
      name: "Heap Fragmentation"
    block:
      name: "Heap Max Block"
    loop_time:
      name: "Loop Time"
回复

使用道具 举报

10

主题

184

帖子

1822

积分

论坛技术达人

积分
1822
金钱
1633
HASS币
20
 楼主| 发表于 2024-1-14 16:23:55 | 显示全部楼层
jjcs 发表于 2024-1-13 19:42
贴主的esphome代码格式堪称典范,高内聚低耦合,这下其他电表数据都可以交给esphome处理了。话说能研究一下 ...

峰谷计算挺简单,可以加参数配置,动态调整。等这个版本跑的差不多稳定了,就加上。
回复

使用道具 举报

10

主题

184

帖子

1822

积分

论坛技术达人

积分
1822
金钱
1633
HASS币
20
 楼主| 发表于 2024-1-14 16:29:58 | 显示全部楼层
本帖最后由 szlww 于 2024-1-14 16:41 编辑
yuyuye 发表于 2024-1-14 10:25
先感谢大佬作品。
我第一次接触esphome,有些问题请教下,如有路过的大佬也请不吝赐教,再次谢过。
我是 ...

安装命令:docker pull esphome/esphome:2023.11.4
运行命令: docker run -d --name="ESPHome" -v /etc/localtime:/etc/localtime:ro --hostname="esphome" -v /home/docker/esphome/conf:/config   --privileged --restart=always --net=host esphome/esphome:2023.11.4


再就是编译的时候需要科学上网,下面这些依赖包都下载成功了么
INFO ESPHome 2023.12.5
INFO Reading configuration /config/test.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing powerboard-debug (board: esp12e; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
Library Manager: Installing esphome/ESPAsyncTCP-esphome @ 2.0.0
INFO Installing esphome/ESPAsyncTCP-esphome @ 2.0.0
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 3.1.0
INFO Installing esphome/ESPAsyncWebServer-esphome @ 3.1.0
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing ottowinter/ESPAsyncTCP-esphome
INFO Installing ottowinter/ESPAsyncTCP-esphome
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/noise-c @ 0.1.4
INFO Installing esphome/noise-c @ 0.1.4
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10018.1
INFO Installing esphome/libsodium @ 1.10018.1
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
Dependency Graph
|-- ESPAsyncTCP-esphome @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.1.0
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
Compiling .pioenvs/powerboard-debug/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/powerboard-debug/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/powerboard-debug/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/powerboard-debug/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/powerboard-debug/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/powerboard-debug/src/esphome/components/api/list_entities.cpp.o


回复

使用道具 举报

10

主题

184

帖子

1822

积分

论坛技术达人

积分
1822
金钱
1633
HASS币
20
 楼主| 发表于 2024-1-14 16:46:25 | 显示全部楼层
刚升级到esphome_v2023.12.5,跑一下稳定性测试
20240114164356.png
回复

使用道具 举报

10

主题

184

帖子

1822

积分

论坛技术达人

积分
1822
金钱
1633
HASS币
20
 楼主| 发表于 2024-1-14 16:50:44 | 显示全部楼层
本帖最后由 szlww 于 2024-1-14 16:53 编辑
wangshao032 发表于 2024-1-14 14:04
大佬,ota最新版本后,网页端不显示设备密匙了,需要重新线刷以前的版本吗 ...

docker 自己编译一下吧,改一下配置文件就行了。这些参数都是为了方便调试用的,正式用还是去 https://esphome.io/components/api 重新生成一个apikey吧。以前的调试版本都是用下面的配置编译的。
ap_password: "12345678"
api_password: "12345678"
ota_password: "12345678"
api_key: "Uo5EDAtxfUi/R1IS9JQZyj1KQf+UkbEDHK93g24g14o="

回复

使用道具 举报

2

主题

86

帖子

929

积分

高级会员

Rank: 4

积分
929
金钱
843
HASS币
0
发表于 2024-1-14 19:06:56 | 显示全部楼层
szlww 发表于 2024-1-14 16:20
我没用mqtt模式,用的是api模式。你添加一下下面的yaml配置,可以显示重启原因
...

加上debug后我看不到信息了,具体的就是web server上的text_sensor是空的

而且在加入debug之前,wifi位置的灯会在连上mqtt服务器之前闪红灯,连上后就会不闪,这应该是status_led,随后触发重启,我想这是内存不足导致的

如果提前关闭mqtt服务器,使esp82666连不上,web server就可以正常工作

我试过不开启web server,只开mqtt,也可以正常工作,并且status_led不会闪烁
回复

使用道具 举报

10

主题

184

帖子

1822

积分

论坛技术达人

积分
1822
金钱
1633
HASS币
20
 楼主| 发表于 2024-1-14 19:36:11 | 显示全部楼层
本帖最后由 szlww 于 2024-1-14 19:51 编辑
sauron 发表于 2024-1-14 19:06
加上debug后我看不到信息了,具体的就是web server上的text_sensor是空的

而且在加入debug之前,wifi位 ...

把webserver关掉,这个比较占内存,然后加入debug,并配置wifi:use_address,然后用esphome的logs看日志。试试这样能不能行?另外就是api和mqtt不共存,你都配置了么?参考esphome的说明
Warning
If you enable MQTT and you do not use the “native API” for Home Assistant, you must remove the api: line from your ESPHome configuration, otherwise the ESP will reboot every 15 minutes because no client connected to the native API.

20240114193754.png
wifi:
  #使用use_address对使用mac地址修饰esphome:name的设备进行ota或者查看日志
  use_address: 192.168.1.173
#log指定组件的打印级别
logger:
  level: DEBUG
  #logs:
  #  sensor: WARN
  #  sensor.filter: WARN
  #  sy7t609: WARN
  #  json: INFO
  #  api.service: INFO
  #  uart.arduino_esp8266: INFO
  #  scheduler: INFO
  #  text_sensor: INFO
  baud_rate: 0


回复

使用道具 举报

46

主题

1654

帖子

6672

积分

论坛元老

Rank: 8Rank: 8

积分
6672
金钱
5008
HASS币
40
发表于 2024-1-14 20:49:40 | 显示全部楼层
szlww 发表于 2024-1-14 16:23
峰谷计算挺简单,可以加参数配置,动态调整。等这个版本跑的差不多稳定了,就加上。 ...

在加个电量调参的,可以在前端输入数值,调整flash的数据,就完美了,包括每月清零
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

7

主题

349

帖子

3227

积分

论坛元老

Rank: 8Rank: 8

积分
3227
金钱
2878
HASS币
0
发表于 2024-1-14 21:13:54 | 显示全部楼层
本帖最后由 yuyuye 于 2024-1-14 21:56 编辑
szlww 发表于 2024-1-14 16:29
安装命令:docker pull esphome/esphome:2023.11.4
运行命令: docker run -d --name="ESPHome" -v /etc/l ...

感谢回复。
哎,照着您的命令重新部署了镜像,用了2023.12.5版本,报错依旧。。查了一下可能是我宿主机的问题。
折腾不动了,再请教下大佬,我可以用ESPHome-Flasher-windows-x64.exe直接刷您之前提供的bin.gz文件吗?

Download cmcc-powerbord-sy7t609.yaml
INFO ESPHome 2023.12.5
INFO Reading configuration /config/cmcc-powerbord-sy7t609.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing cmcc-powerboard (board: esp_wroom_02; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 2MB Flash
Dependency Graph
|-- ESPAsyncTCP-esphome @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.1.0
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/api_connection.cpp.o
sh: 1: xtensa-lx106-elf-g++: not found
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/api_frame_helper.cpp.o
sh: 1: xtensa-lx106-elf-g++: not found
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/api_pb2.cpp.o
sh: 1: xtensa-lx106-elf-g++: not found
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/api_pb2_service.cpp.o
sh: 1: xtensa-lx106-elf-g++: not found
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/api_server.cpp.o
sh: 1: xtensa-lx106-elf-g++: not found
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/list_entities.cpp.o
sh: 1: xtensa-lx106-elf-g++: not found
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/proto.cpp.o
sh: 1: xtensa-lx106-elf-g++: not found
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/api_connection.cpp.o] Error 127
Compiling .pioenvs/cmcc-powerboard/src/esphome/components/api/subscribe_state.cpp.o
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/api_frame_helper.cpp.o] Error 127
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/api_pb2.cpp.o] Error 127
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/api_pb2_service.cpp.o] Error 127
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/api_server.cpp.o] Error 127
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/list_entities.cpp.o] Error 127
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/proto.cpp.o] Error 127
sh: 1: xtensa-lx106-elf-g++: not found
*** [.pioenvs/cmcc-powerboard/src/esphome/components/api/subscribe_state.cpp.o] Error 127
========================== [FAILED] Took 6.09 seconds ==========================








回复

使用道具 举报

8

主题

870

帖子

5218

积分

论坛元老

Rank: 8Rank: 8

积分
5218
金钱
4348
HASS币
0
发表于 2024-1-14 21:19:03 | 显示全部楼层
谢谢分享,学习学习
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-22 05:00 , Processed in 0.325101 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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