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

 找回密码
 立即注册
查看: 2474|回复: 24

[求助] esp32esphome 与hass反复失联不断连接

[复制链接]

9

主题

195

帖子

1528

积分

金牌会员

Rank: 6Rank: 6

积分
1528
金钱
1333
HASS币
0
发表于 2024-1-4 18:38:58 | 显示全部楼层 |阅读模式
本帖最后由 tangyali 于 2024-1-4 18:38 编辑

家里有6~7个esp32,由于时间周期跨度大,型号各一,有合宙esp32c3,esp32E等,还有miniD1,上月升级esphome后,

其中一个esp32-E人在传感器模块,在重启hass或路由之类的操作后,hass里就显示该模块的全部实体,都出现从"不再可用"到连接上,再到"不可再用"状态闪烁的情况,闪烁频率很快大概1秒1次,


这种情况大概每周都会出现至少1~2次.


试过重启hass和路由器,启动后还是同样的连接-断联-连接-断联,反复闪烁,


模块本身是可以正确的获取所有信息的,但就是与home assistant无法正确建立连接,造成hoss无法获取更能状态,并且因为大量的连接,造成过多冗余日志,拖慢系统速度,


但通过esphome的该设备web控制界面,发现该模块本身是正常运行的.web界面里所有实体的状态都很稳定,完全没有闪烁的情况.


可以排除的是盒子本身,前段时间N1盒子出现这个问题,现在新的黑豹盒子刷hassio,也还是一样的毛病,另外,也不能说是这个模块的问题因为合宙esp32c3和另一个esp32s2mini也出现过,但次数很少,


通过esphome的log看:
INFO ESPHome 2023.12.5
INFO Reading configuration /config/esphome/human-presence-study.yaml...
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Detected timezone 'Asia/Shanghai'
INFO Starting log output from 192.168.123.20 using esphome API
INFO Successfully connected to human-presence-study @ 192.168.123.20 in 0.018s
INFO Successful handshake with human-presence-study @ 192.168.123.20 in 0.057s
[17:06:28][I][app:102]: ESPHome version 2023.12.5 compiled on Dec 31 2023, 22:56:39
[17:06:28][C][wifi:573]: WiFi:
[17:06:28][C][wifi:405]:   Local MAC: C0:49:EF:46:01:88
[17:06:28][C][wifi:410]:   SSID: [redacted]
[17:06:28][C][wifi:411]:   IP Address: 192.168.123.20
[17:06:28][C][wifi:413]:   BSSID: [redacted]
[17:06:28][C][wifi:414]:   Hostname: 'human-presence-study'
[17:06:28][C][wifi:416]:   Signal strength: -28 dB ▂▄▆█
[17:06:28][C][wifi:420]:   Channel: 2
[17:06:28][C][wifi:421]:   Subnet: 255.255.255.0
[17:06:28][C][wifi:422]:   Gateway: 192.168.123.1
[17:06:28][C][wifi:423]:   DNS1: 0.0.0.0
[17:06:28][C][wifi:424]:   DNS2: 0.0.0.0
[17:06:28][C][logger:443]: Logger:
[17:06:28][C][logger:444]:   Level: DEBUG
[17:06:28][C][logger:445]:   Log Baud Rate: 115200
[17:06:28][C][logger:447]:   Hardware UART: UART0
[17:06:28][C][template.binary_sensor:028]: Template Binary Sensor 'timer'
[17:06:28][C][fastled:021]: FastLED light:
[17:06:28][C][fastled:022]:   Num LEDs: 1
[17:06:28][C][fastled:023]:   Max refresh rate: 400
[17:06:28][C][switch.gpio:068]: GPIO Switch 'switch'
[17:06:28][C][switch.gpio:091]:   Restore Mode: always OFF
[17:06:28][C][switch.gpio:031]:   Pin: GPIO15
[17:06:28][C][gpio.binary_sensor:015]: GPIO Binary Sensor '书房人在传感器'
[17:06:28][C][gpio.binary_sensor:015]:   Device Class: 'presence'
[17:06:28][C][gpio.binary_sensor:016]:   Pin: GPIO13
[17:06:28][C][light:103]: Light 'Light'
[17:06:28][C][light:105]:   Default Transition Length: 1.0s
[17:06:28][C][light:106]:   Gamma Correct: 2.80
[17:06:28][C][restart.button:017]: Restart Button 'Restart'
[17:06:28][C][wifi_info:013]: WifiInfo Mac Address 'ESP Mac Wifi Address'
[17:06:28][C][version.text_sensor:021]: Version Text Sensor 'ESPHome Version'
[17:06:28][C][version.text_sensor:021]:   Icon: 'mdi:new-box'
[17:06:28][C][homeassistant.time:010]: Home Assistant Time:
[17:06:28][C][homeassistant.time:011]:   Timezone: 'CST-8'
[17:06:28][C][captive_portal:088]: Captive Portal:
[17:06:28][C][web_server:168]: Web Server:
[17:06:28][C][web_server:169]:   Address: 192.168.123.20:80
[17:06:28][C][mdns:115]: mDNS:
[17:06:28][C][mdns:116]:   Hostname: human-presence-study
[17:06:28][C][ota:097]: Over-The-Air Updates:
[17:06:28][C][ota:098]:   Address: 192.168.123.20:3232
[17:06:28][C][api:139]: API Server:
[17:06:28][C][api:140]:   Address: 192.168.123.20:6053
[17:06:28][C][api:144]:   Using noise encryption: NO
[17:06:28][C][wifi_info:009]: WifiInfo IPAddress 'IP address'
[17:06:28][C][wifi_info:011]: WifiInfo SSID 'ESP Connected SSID'
[17:06:29][C][wifi_info:012]: WifiInfo BSSID 'ESP Connected BSSID'
[17:06:29][C][wifi_info:010]: WifiInfo Scan Results 'ESP Latest Scan Results'
<blockquote>[17:06:29][W][api.connection:104]: Home Assistant 2024.1.0 (192.168.123.4): Connection closed

下载1.png

                               
登录/注册后可看大图

下载3.png
其中reset是我在hoss自动化里面增加重启该模块的的代码,不过似乎这样的操作不起作用,烦请大神告知处理方法,谢谢




下载2.png
回复

使用道具 举报

9

主题

195

帖子

1528

积分

金牌会员

Rank: 6Rank: 6

积分
1528
金钱
1333
HASS币
0
 楼主| 发表于 2024-1-4 18:42:50 | 显示全部楼层
esphome:
  name: "${device_name}"
  friendly_name: "${friendly_name}"
  build_path: build/$device_name
  name_add_mac_suffix: false
  on_boot:
    then:
      - switch.turn_on: sw_hp

esp32:
  board: esp32dev
  framework:
    type: arduino
    version: recommended

# Enable logging
logger:
  # level: ERROR

# Enable fallback hotspot (captive portal) in case wifi connection fails
captive_portal:
    
substitutions:
  config_version: 'v2022.07.23.001'
  #设备名称
  device_name: human-presence-study #书房
  friendly_name: "书房人在传感器"
  #如果SS4ID是隐藏的,设置为true
  wifi_fast_connect: 'false'
  #WiFi离线多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s,建议设置0s,防止异常重启,或者设置的大一些
  wifi_reboot_timeout: 0s
  #与API服务端失去连接多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s,建议设置0s,防止异常重启,或者设置的大一些
  api_reboot_timeout: 300s

# Enable Home Assistant API
api:
  reboot_timeout: 10min

web_server:
  port: 80 # web端口
  
ota:
#  password: 

wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_password
  - ssid: !secret wifi_ssid2
    password: !secret wifi_password
    # enable_ipv6: false

  manual_ip:
    static_ip: 192.168.123.20
    gateway: 192.168.123.1
    subnet: 255.255.255.0
  reboot_timeout: 10min
  
  # Enable fallback hotspot in case wifi connection fails
  ap:
    ssid: !secret wifi_ssid_AP
    password: !secret wifi_password

switch:
  - platform: gpio
    name: "switch"
  #  restore_mode: RESTORE_DEFAULT_ON 
    pin: 
      number: GPIO15
    id: sw_hp
    on_turn_off:
      then:
        - delay: !lambda "if (id(adf22).state) return 60*60*1000; else return 5*60*1000;"
        - switch.turn_on: sw_hp
        - logger.log: "打开感应器开关"

button:
  - platform: restart
    name: "Restart"

binary_sensor:
  - platform: gpio
    id: hp_study
    pin: 
      number: GPIO13
      mode: INPUT_PULLDOWN
    internal: false
    name: ""
    device_class: presence
    on_press:
      then:
        - if:
            condition:
              binary_sensor.is_off: adf22
            then:
              - light.turn_on: 
                  id: light1
                  blue: 100%
                  green: 0
                  red: 0
                  brightness: 20%
        - logger.log: "开始延时"
        - delay: !lambda "if (id(adf22).state) return 1*60*1000; else return 5*60*1000;"
        - logger.log: "延时结束"
        - if:
            condition:
              for:
                time: !lambda "if (id(adf22).state) return 1*60*1000; else return 5*60*1000;"
                condition:
                  - binary_sensor.is_on: hp_study
                  - switch.is_on: sw_hp
            then:
              - switch.turn_off: sw_hp

- platform: template
    id: adf22
    name: "timer"
    internal: true
    icon: mdi:clock-time-eight-outline
    lambda: |-
      if (id(homeassistant_time).now().hour < 22 && id(homeassistant_time).now().hour >= 7) {
        //# ESP_LOGI("白天时间段,未检测到传感器开关关闭");
        return false;
      } else {
        return true;
      }

light:
  - platform: fastled_clockless
    chipset : WS2811
    pin: GPIO16
    id: light1
    num_leds: 1
    rgb_order: GRB
    name: "Light"
    on_turn_on:
      - delay: 3s
      - light.turn_off: light1
#sensor:
  # - platform: wifi_signal
  #   name: "WiFi Signal Sensor"
  #   update_interval: 60s

text_sensor:
  - platform: wifi_info
    ip_address:
      name: IP address
      id: ip_address
    ssid:
      name: ESP Connected SSID
    bssid:
      name: ESP Connected BSSID
    mac_address:
      name: ESP Mac Wifi Address
    scan_results:
      name: ESP Latest Scan Results

  - platform: version
    name: ESPHome Version

time:
  - platform: homeassistant
    id: homeassistant_time
附esphome代码,里面的switch是控制三极管定时关闭人在传感器模块,避免晚间长时间照射,给家人造成身体负担
回复

使用道具 举报

51

主题

1340

帖子

5598

积分

论坛DIY达人

积分
5598
金钱
4258
HASS币
20
发表于 2024-1-4 19:51:09 | 显示全部楼层
哈哈!我也不敢在家用这类传感器,长期对着这类多普勒射频,总有种说不出来的感觉
回复

使用道具 举报

9

主题

195

帖子

1528

积分

金牌会员

Rank: 6Rank: 6

积分
1528
金钱
1333
HASS币
0
 楼主| 发表于 2024-1-4 21:02:14 | 显示全部楼层
sorrypqa 发表于 2024-1-4 19:51
哈哈!我也不敢在家用这类传感器,长期对着这类多普勒射频,总有种说不出来的感觉 ...

对的,所以我用一个三极管做了一个简单的开关电路,白天感应有人5分钟关闭5分钟,夜间有人,1分钟后关闭过1小时在打开检测,如此循环心里感觉好点
回复

使用道具 举报

51

主题

1340

帖子

5598

积分

论坛DIY达人

积分
5598
金钱
4258
HASS币
20
发表于 2024-1-4 21:12:35 | 显示全部楼层
tangyali 发表于 2024-1-4 21:02
对的,所以我用一个三极管做了一个简单的开关电路,白天感应有人5分钟关闭5分钟,夜间有人,1分钟后关闭过1小 ...

家里我直接用Frigate当人体存在传感器,非常实用。
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-1-4 23:58:53 | 显示全部楼层
sorrypqa 发表于 2024-1-4 19:51
哈哈!我也不敢在家用这类传感器,长期对着这类多普勒射频,总有种说不出来的感觉 ...

缺点是什么
回复

使用道具 举报

51

主题

1340

帖子

5598

积分

论坛DIY达人

积分
5598
金钱
4258
HASS币
20
发表于 2024-1-5 08:43:35 | 显示全部楼层

这类几十G的射频多少对人体有点影响,但影响有多大并不知道,反正我是不会在卧室装这类玩意,尽量用被动式传感器,不差钱又要求高就上热成像传感器吧,哈哈!
SNAG-2024-1-5_0000.png
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-1-5 11:12:01 | 显示全部楼层
sorrypqa 发表于 2024-1-5 08:43
这类几十G的射频多少对人体有点影响,但影响有多大并不知道,反正我是不会在卧室装这类玩意,尽量用被动 ...

hlk的雷达人在传感器,应该没有什么影响吧,
回复

使用道具 举报

51

主题

1340

帖子

5598

积分

论坛DIY达人

积分
5598
金钱
4258
HASS币
20
发表于 2024-1-5 11:20:30 | 显示全部楼层
bugensui 发表于 2024-1-5 11:12
hlk的雷达人在传感器,应该没有什么影响吧,

这玩意发射的是24G多普勒射频,有没有影响不知道,不过我是不愿意长期对着这东西
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-1-5 11:27:00 | 显示全部楼层
sorrypqa 发表于 2024-1-5 11:20
这玩意发射的是24G多普勒射频,有没有影响不知道,不过我是不愿意长期对着这东西 ...

你指的应该是楼主的吧,不是hlk的对吧,传统的人在传感器,应该不是射频的
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 02:20 , Processed in 0.076279 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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