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

 找回密码
 立即注册
查看: 1035|回复: 7

[技术探讨] 请教各位大神如何设置断网后继电器重启路由器和光猫。。

[复制链接]

4

主题

7

帖子

92

积分

注册会员

Rank: 2

积分
92
金钱
85
HASS币
0
发表于 2023-5-20 17:48:03 | 显示全部楼层 |阅读模式
请教大神如何设置继电器断网重启路由器和光猫??
回复

使用道具 举报

15

主题

314

帖子

2302

积分

金牌会员

Rank: 6Rank: 6

积分
2302
金钱
1988
HASS币
0
发表于 2023-5-20 18:27:17 | 显示全部楼层
1,要使用能本地控制的继电器比如基于esphome控制的,有些需要云端控制的继电器无法实现。
2,要在HA里配置一个ping传感器探测连网状态。
3,创建一个自动化,在传感器探测到断网后,断开继电器,延迟一段时间后,再接通继电器,实现路由器和光猫重启。

其实可以将宽带拨号改到路由器拨号,在路由器上设置下每天后半夜定时重启,基本就可以解决异常断网的问题。
回复

使用道具 举报

50

主题

1321

帖子

5026

积分

论坛DIY达人

积分
5026
金钱
3705
HASS币
20
发表于 2023-5-20 19:23:30 | 显示全部楼层
找个ESP32主控的插座,用ESPHome固件独立完成,定时PING网关,连续N次都ping不通就断开插座1分钟再接通,但固件怎么写就有请大佬啦!
回复

使用道具 举报

2

主题

90

帖子

892

积分

高级会员

Rank: 4

积分
892
金钱
802
HASS币
0
发表于 2023-5-20 21:08:50 | 显示全部楼层
这种为什么要用继电器?
shell 脚本软重启不就好了?
回复

使用道具 举报

25

主题

244

帖子

1346

积分

金牌会员

Rank: 6Rank: 6

积分
1346
金钱
1102
HASS币
0
发表于 2023-5-20 21:29:43 | 显示全部楼层
路由器要是能进ssh,就写个shell脚本就OK了
回复

使用道具 举报

1

主题

17

帖子

52

积分

注册会员

Rank: 2

积分
52
金钱
35
HASS币
0
发表于 2023-5-21 17:16:15 | 显示全部楼层
路由器不是有定时任务吗? 还有看门狗
回复

使用道具 举报

4

主题

7

帖子

92

积分

注册会员

Rank: 2

积分
92
金钱
85
HASS币
0
 楼主| 发表于 2023-5-21 21:47:28 | 显示全部楼层
tty228 发表于 2023-5-20 21:08
这种为什么要用继电器?
shell 脚本软重启不就好了?

是老家的路由器。不知道是路由器问题还是光猫问题,只要重启了就能连上。路由器又装在吊顶的机柜,家人年纪大了。腿脚不方便。
回复

使用道具 举报

2

主题

90

帖子

892

积分

高级会员

Rank: 4

积分
892
金钱
802
HASS币
0
发表于 2023-5-21 22:04:21 | 显示全部楼层
berniewin 发表于 2023-5-21 21:47
是老家的路由器。不知道是路由器问题还是光猫问题,只要重启了就能连上。路由器又装在吊顶的机柜,家人年 ...

重启光猫的代码大概长这样

#!/bin/sh

host_url="192.168.1.1"
user_name="user_name"
pass_word="password"
tmppath="/tmp/reboot_cat"

if [ ! -d "${tmppath}" ]; then
        mkdir -p ${tmppath}
        touch ${tmppath}/cookies.txt
fi

loginfo=`curl -s -L "http://${host_url}/cgi-bin/luci" -X POST -c ${tmppath}/cookies.txt -d "username=${user_name}&psd=${pass_word}"`
function reboot_cat()
{
        mytoken=$(echo $loginfo |sed 's/{/\n/g' | grep token |awk '/realRestart/{print $2}'| sed $'s/\'//g')
        curl -s -b ${tmppath}/cookies.txt http://192.168.1.1/cgi-bin/luci/admin/reboot -d 'token='$mytoken
        echo -e "Restating..."
} 
reboot_cat
exit
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-19 21:08 , Processed in 1.127298 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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