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

 找回密码
 立即注册
查看: 1422|回复: 6

[求助] 怎么监控周期性事件?

[复制链接]

1

主题

4

帖子

30

积分

新手上路

Rank: 1

积分
30
金钱
26
HASS币
0
发表于 2023-10-27 23:43:03 | 显示全部楼层 |阅读模式
本帖最后由 kkjmh 于 2023-10-27 23:43 编辑

已完成功能:
1、烟雾报警器使用MQTT接入HA(自己开发的)
2、报警器每天上报一次心跳(内容为数据上报时刻设备状态)
3、如果有烟雾报警、拆除或低电量均会触发报警事件并推送到手机


想要解决的问题:
    假如报警器设置的心跳时间为2个小时,如果超过2个小时没有收到数据上报则向手机推送设备离线事件   
这个周期性监控心跳的事件怎么实现? 有什么思路?
回复

使用道具 举报

1

主题

4

帖子

30

积分

新手上路

Rank: 1

积分
30
金钱
26
HASS币
0
 楼主| 发表于 2023-10-27 23:43:54 | 显示全部楼层
[attachim]手机端的UI[/attachimg]
微信图片_20231027234159.jpg
回复

使用道具 举报

20

主题

484

帖子

3164

积分

论坛元老

Rank: 8Rank: 8

积分
3164
金钱
2680
HASS币
8
发表于 2023-10-28 06:30:20 来自手机 | 显示全部楼层
用看门狗的设计思路,收到心跳包定时喂狗
回复

使用道具 举报

13

主题

584

帖子

3081

积分

论坛元老

HomeAssistant

Rank: 8Rank: 8

积分
3081
金钱
2492
HASS币
20
发表于 2023-10-28 08:16:54 | 显示全部楼层
mqtt配置好keeplive会自动判断离线的,好像是2.5个keeplive。不需要自定义数据再判断了
回复

使用道具 举报

1

主题

4

帖子

30

积分

新手上路

Rank: 1

积分
30
金钱
26
HASS币
0
 楼主| 发表于 2023-10-30 09:06:13 | 显示全部楼层
DDDear 发表于 2023-10-28 08:16
mqtt配置好keeplive会自动判断离线的,好像是2.5个keeplive。不需要自定义数据再判断了 ...

我搞定了
MQTT一般是1.5倍keeplive,我的是低功耗设备(电池供电),每次上报完数据后,会主动断连并关机。    在应用层每天至少上报一次数据,是为了监控设备工作情况,万一设备没电了,或坏了还不自知。


目前我已经找到解决方案了:新建一个计时器的辅助元素,定义两个自动化:
1、监听设备上报数据的Topic, 如果有数据到来就启动计时器(计时器计时时长稍大于该设备两次上报数据的间隔),每次启动计时器会重置计数值(计时器为激活状态)。
2、监控该计时器是否为空闲状态,如果为空闲状态,则向手机推送消息。
回复

使用道具 举报

1

主题

4

帖子

30

积分

新手上路

Rank: 1

积分
30
金钱
26
HASS币
0
 楼主| 发表于 2023-10-30 09:10:25 | 显示全部楼层
cjnt007 发表于 2023-10-28 06:30
用看门狗的设计思路,收到心跳包定时喂狗

也是这种思路,就是一时半会,不知道怎么实现。    不过现在解决了,5# 有方法
回复

使用道具 举报

13

主题

584

帖子

3081

积分

论坛元老

HomeAssistant

Rank: 8Rank: 8

积分
3081
金钱
2492
HASS币
20
发表于 2023-10-30 09:23:11 | 显示全部楼层
kkjmh 发表于 2023-10-30 09:06
我搞定了
MQTT一般是1.5倍keeplive,我的是低功耗设备(电池供电),每次上报完数据后,会主动断连并 ...

原来如此
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 00:41 , Processed in 0.075514 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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