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

 找回密码
 立即注册
123
返回列表 发新帖
楼主: tangyali

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

[复制链接]

22

主题

224

帖子

2474

积分

金牌会员

Rank: 6Rank: 6

积分
2474
金钱
2250
HASS币
0
发表于 2024-1-8 20:37:12 | 显示全部楼层
tangyali 发表于 2024-1-4 18:42
附esphome代码,里面的switch是控制三极管定时关闭人在传感器模块,避免晚间长时间照射,给家人造成身体负担
...

三极管开关电路能发一下吗? 电阻都选的多大的?
回复

使用道具 举报

9

主题

169

帖子

1316

积分

金牌会员

Rank: 6Rank: 6

积分
1316
金钱
1147
HASS币
0
 楼主| 发表于 2024-1-11 19:29:43 | 显示全部楼层
water3033 发表于 2024-1-8 20:37
三极管开关电路能发一下吗? 电阻都选的多大的?

sx33w1aa.png
我用了最简单的NPN三极管开关电路,
+vcc直接用5V连接ld2410正极,2410负极接三极管集电极,
vbb接单片机gpio口,上拉导通,下拉关闭.我的是io15
没有在基极放下拉电阻,如果需要,可以放一个5~10k的下拉电阻,我没放也正常.
switch:
  - platform: gpio
    name: "switch"
  #  restore_mode: RESTORE_DEFAULT_ON 
    pin: 
      number: GPIO15
    id: sw_hp


回复

使用道具 举报

22

主题

224

帖子

2474

积分

金牌会员

Rank: 6Rank: 6

积分
2474
金钱
2250
HASS币
0
发表于 2024-1-11 20:13:04 | 显示全部楼层
tangyali 发表于 2024-1-11 19:29
我用了最简单的NPN三极管开关电路,
+vcc直接用5V连接ld2410正极,2410负极接三极管集电极,
vbb接单片机gp ...

好的  谢谢
回复

使用道具 举报

10

主题

107

帖子

538

积分

高级会员

Rank: 4

积分
538
金钱
431
HASS币
0
发表于 2024-1-11 22:54:33 | 显示全部楼层
trz0332 发表于 2024-1-5 13:10
在路由器里面做静态dhcp,做好后把所有的esphome设备删掉,然后重新添加
还有一种办法就是用mqtt协议 ...

我用的HLK 2410B模块,ESP32刷蓝牙代理后,通过ESP32蓝牙代理接入HA,大概十多个小时后,就显示“不可再用”有时候重载能恢复正常,也会重载+重启HA,都无法恢复。在手机上HLK的APP能正常显示2410模块,也就是说2410模块是正常的。这个用您说的MQTT协议会改善吗?具体要怎么做才能用MQTT接入HA?

HA里MQTT的集成安装了
回复

使用道具 举报

9

主题

169

帖子

1316

积分

金牌会员

Rank: 6Rank: 6

积分
1316
金钱
1147
HASS币
0
 楼主| 发表于 2024-1-12 17:52:37 | 显示全部楼层
liy517 发表于 2024-1-11 22:54
我用的HLK 2410B模块,ESP32刷蓝牙代理后,通过ESP32蓝牙代理接入HA,大概十多个小时后,就显示“不可再 ...

我的水平也就能对付esphome,没有时间精力折腾mqtt了,不过我分析了一下,原因可能处在:
我的两个wifi接入点上
wifi:
  networks:
  - ssid: !secret wifi_ssid1
    password: !secret wifi_password
  - ssid: !secret wifi_ssid2
    password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.123.XXX
    gateway: 192.168.123.1
    subnet: 255.255.255.0
  reboot_timeout: 180s

但我也不想删除,目前使用api断联触发来处理:
api:
  reboot_timeout: 300s
  on_client_disconnected:
    then:
      - lambda: |-
          if (id(my_dis_int) < 10) {
            id(my_dis_int) += 1;
          } else {
            id(my_dis_int) += 0;
            id(rest).press();
          } 
          ESP_LOGD("tag", "%s: %d", id(my_dis_int));
      - script.stop: reset_num
      # - logger.log: "API client disconnected!"
  on_client_connected:
    script.execute: reset_num
globals:
  - id: my_dis_int
    type: int
    restore_value: no
    initial_value: '0'
script:
  - id: reset_num
    then:
      - delay: 60s
      - if:
          condition:
            for:
              time: 60s
              condition:
                - api.connected:
          then:
            - globals.set:
                id: my_dis_int
                value: '0'


设置全局变量,初始值为0,每次断联加1,直到10次断联自动复位esp32,不知道这样行不行,刚刷上,还没试过行不行
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-6-14 04:32 , Processed in 0.231969 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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