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

 找回密码
 立即注册
查看: 10911|回复: 8

[技术探讨] 新人求助—多触发器问题

[复制链接]

1

主题

29

帖子

154

积分

注册会员

Rank: 2

积分
154
金钱
125
HASS币
0
发表于 2018-5-26 10:33:06 | 显示全部楼层 |阅读模式
本帖最后由 瓢泼大雨 于 2018-5-26 22:44 编辑

阅读了一下官方文档触发器部分,其中最后给了一个多触发器的实例:

automation:
  trigger:
      # first trigger
    - platform: time
      minutes: 5
      seconds: 00
      # our second trigger is the sunset
    - platform: sun
      event: sunset

看说明应该是二者其一被触发,规则就会触发。

我想问的问题是,如果需要设置成多触发器同时达到触发条件,规则才被触发,如何写代码?
非常感谢。

--------------------------------------------

感谢各位的回复。
因为米家APP创建自动化场景时可选择同时满足条件或满足其一条件即可,所以当时看到这里时惯性思维就提出了这个问题。后来一想,米家里面的条件和HA里面trigger又略有些不同,且某些逻辑弱于HA。日常在HA里确实没什么需要多触发器同时触发的场景,以后还应多思考。

回复

使用道具 举报

4

主题

443

帖子

2583

积分

金牌会员

Rank: 6Rank: 6

积分
2583
金钱
2140
HASS币
0
发表于 2018-5-26 13:51:56 | 显示全部楼层
    condition:
      condition: and
      conditions:   多 条件语句
回复

使用道具 举报

26

主题

553

帖子

2728

积分

金牌会员

Rank: 6Rank: 6

积分
2728
金钱
2150
HASS币
100

教程狂人

发表于 2018-5-26 16:58:50 | 显示全部楼层
trigger只是作为前置条件,动作是否执行还要看后置条件condition,后置条件不满足,触发了也不会执行动作,不需要太纠结吧
回复

使用道具 举报

12

主题

335

帖子

2350

积分

论坛DIY达人

积分
2350
金钱
2010
HASS币
0
发表于 2018-5-26 21:09:45 | 显示全部楼层
楼上两位正解,多个trigger只要其中任意一个触发就会触发自动化,如果需要设置条件要用condition,condition可以写的非常复杂
回复

使用道具 举报

9

主题

105

帖子

395

积分

中级会员

Rank: 3Rank: 3

积分
395
金钱
290
HASS币
0
发表于 2021-6-26 15:25:38 | 显示全部楼层
日常有这个场景的,我就遇到了:我家里三个人,每人一个手机,我判断如果手机A、B、C都不在线了,就关闭家里所有的灯、空调。
现在搞下来,发现任何一个手机不在线,所有灯都关闭了。

搞个与或非应该不难啊。但是HA里面就有些复杂,要condition嵌套。没搞定。最后用了nodered
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2021-6-26 15:48:02 来自手机 | 显示全部楼层
lzzmn 发表于 2021-6-26 15:25
日常有这个场景的,我就遇到了:我家里三个人,每人一个手机,我判断如果手机A、B、C都不在线了,就关闭家 ...

还是没真正闹清楚事件和条件的含义啊……

这个很容易解决啊,group就行,很简单
回复

使用道具 举报

9

主题

105

帖子

395

积分

中级会员

Rank: 3Rank: 3

积分
395
金钱
290
HASS币
0
发表于 2021-6-26 16:58:55 | 显示全部楼层
XCray 发表于 2021-6-26 15:48
还是没真正闹清楚事件和条件的含义啊……

这个很容易解决啊,group就行,很简单 ...

至尊新手。您说的group我刚刚去学习了一下,没搞定。我写的如下的group,但是发现,三个手机有两个离线后,直接判定为group离线了。麻烦帮我看看我问题出在哪里?
group:
  person:
    name: group_mobile
    entities:
      - device_tracker.lzz_phone
      - device_tracker.xlh_iphone
      - device_tracker.proton_watch
    all: true
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2021-6-26 17:59:13 | 显示全部楼层
lzzmn 发表于 2021-6-26 16:58
至尊新手。您说的group我刚刚去学习了一下,没搞定。我写的如下的group,但是发现,三个手机有两个离线后 ...

那行 “all: true”是干嘛的?你不知道其含义为啥加上它呢?

恰恰就是那一行,起到了你所实现的效果,而不是你想要的效果。

仔细看文档呐!
回复

使用道具 举报

9

主题

105

帖子

395

积分

中级会员

Rank: 3Rank: 3

积分
395
金钱
290
HASS币
0
发表于 2021-6-26 21:28:30 | 显示全部楼层
就是看了文档,想当然了。后来仔细品味,应该去掉。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 06:37 , Processed in 0.051889 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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