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

 找回密码
 立即注册
查看: 19335|回复: 13

[技术探讨] 求教大神:如何让自动化每天只触发一次?

[复制链接]

11

主题

308

帖子

1649

积分

金牌会员

Rank: 6Rank: 6

积分
1649
金钱
1341
HASS币
0
发表于 2021-3-2 10:18:10 | 显示全部楼层 |阅读模式
本帖最后由 fay000fay 于 2021-3-2 10:19 编辑

各位大神好,我有个难题。我现在的自动化是:环境条件是当我和我老婆都在各自单位上班,并且时间设定在中午11点40以后(三者同时满足,因为我中午要离开单位去外面食堂吃饭,所以如果我不设定时间的话,上午上班就直接触发扫地了,然后中午吃完饭回来又触发了);然后触发条件是我到达单位或者我老婆到达她的单位时,动作是开启家里的扫地机器人。

想实现的效果是我和我老婆都在上班的时候,开始扫地。

但有一个问题,即使我这样设定以后,我或者我老婆在这个环境条件满足以后,其中一个人只要暂时离开一下各自单位,然后又重新回到单位后,又触发了扫地(虽然这种情况发生的次数可能 不多,但理论上还是有可能 ,那么就会导致一天扫好几次地);

有没有可能,让这个自动化一天只执行一次呢,就是说第一次触发成功后,在当天第二次触发不了。
回复

使用道具 举报

22

主题

319

帖子

3933

积分

论坛元老

Rank: 8Rank: 8

积分
3933
金钱
3609
HASS币
30
发表于 2021-3-2 10:47:14 | 显示全部楼层
很简单呀,设个MQTT记录开关或传感器,晚上12点定时关闭,第一次扫地时检测为关闭状态,开始扫地并打开开关,第二次扫地时检测开关状态为开,侧不扫地。
回复

使用道具 举报

17

主题

320

帖子

2501

积分

金牌会员

Rank: 6Rank: 6

积分
2501
金钱
2181
HASS币
20
发表于 2021-3-2 11:02:09 | 显示全部楼层
可以新建一个自动化 每天定时开启你这个自动化 然后你这个自动化动作中增加调用服务 automation.turn_off 关闭自己
回复

使用道具 举报

0

主题

92

帖子

1611

积分

金牌会员

Rank: 6Rank: 6

积分
1611
金钱
1519
HASS币
0
发表于 2021-3-2 11:19:05 | 显示全部楼层
根本逻辑都是需要一个值来记录当天是否已经扫过,然后定时把这个值重置。

比如楼上说的方法就可以,自动化执行的时候就把自己禁用掉,相当于用自动化启用/禁用的状态来记录;
此外,还有一种方式是新建一个input_boolean用于记录当天是否已打扫,在扫地机器人的自动化里先判断这个input_boolean的值,是false时才打扫,并且在把这个值置为true
回复

使用道具 举报

11

主题

308

帖子

1649

积分

金牌会员

Rank: 6Rank: 6

积分
1649
金钱
1341
HASS币
0
 楼主| 发表于 2021-3-2 13:04:44 | 显示全部楼层
hellkun 发表于 2021-3-2 11:19
根本逻辑都是需要一个值来记录当天是否已经扫过,然后定时把这个值重置。

比如楼上说的方法就可以,自动化 ...

非常感谢,顿然醒悟了。
回复

使用道具 举报

11

主题

308

帖子

1649

积分

金牌会员

Rank: 6Rank: 6

积分
1649
金钱
1341
HASS币
0
 楼主| 发表于 2021-3-2 13:41:00 | 显示全部楼层
lujiashun1 发表于 2021-3-2 11:02
可以新建一个自动化 每天定时开启你这个自动化 然后你这个自动化动作中增加调用服务 automation.turn_off  ...

你好。你说的“然后你这个自动化动作中……”里面的这个自动化是指哪个自动化,有点绕
回复

使用道具 举报

17

主题

320

帖子

2501

积分

金牌会员

Rank: 6Rank: 6

积分
2501
金钱
2181
HASS币
20
发表于 2021-3-2 13:48:21 | 显示全部楼层
fay000fay 发表于 2021-3-2 13:41
你好。你说的“然后你这个自动化动作中……”里面的这个自动化是指哪个自动化,有点绕 ...

假设你这个自动化名为A,新建一个B自动化,在B中设置触发条件凌晨8:00,动作中调用服务automation.turn_on你的A自动化,然后修改A自动化,在动作中添加调用服务automation.turn_off A自动化
回复

使用道具 举报

11

主题

308

帖子

1649

积分

金牌会员

Rank: 6Rank: 6

积分
1649
金钱
1341
HASS币
0
 楼主| 发表于 2021-3-2 13:52:24 | 显示全部楼层
lujiashun1 发表于 2021-3-2 13:48
假设你这个自动化名为A,新建一个B自动化,在B中设置触发条件凌晨8:00,动作中调用服务automation.turn_o ...

好的。我去试一下。。谢谢
回复

使用道具 举报

11

主题

308

帖子

1649

积分

金牌会员

Rank: 6Rank: 6

积分
1649
金钱
1341
HASS币
0
 楼主| 发表于 2021-3-2 13:58:07 | 显示全部楼层
lujiashun1 发表于 2021-3-2 13:48
假设你这个自动化名为A,新建一个B自动化,在B中设置触发条件凌晨8:00,动作中调用服务automation.turn_o ...

成功了。非常感谢。。涨姿势了。。。
回复

使用道具 举报

17

主题

320

帖子

2501

积分

金牌会员

Rank: 6Rank: 6

积分
2501
金钱
2181
HASS币
20
发表于 2021-3-2 14:12:40 | 显示全部楼层
fay000fay 发表于 2021-3-2 13:58
成功了。非常感谢。。涨姿势了。。。

不客气                                   
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 18:43 , Processed in 0.098612 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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