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

 找回密码
 立即注册
查看: 6330|回复: 2

[经验分享] node-red自动化:门打开10分钟不关,则微信和tts警报

[复制链接]

69

主题

692

帖子

4201

积分

论坛元老

Rank: 8Rank: 8

积分
4201
金钱
3504
HASS币
80
发表于 2021-3-5 11:44:57 | 显示全部楼层 |阅读模式
对不起,原帖子中有大佬说对比度高,原来是说看不清楚。

原帖是黏贴一些内容,可能是偏码问题,在网页有阴影和错位,显示不正常。但在我自己的浏览器中显示是正常的,我今天在办公室打开帖子才发现显示不正常。原贴不知道怎么修改,现从新发一次


本帖最后由 zhenxiwen 于 2021-3-4 12:58 编辑


在ha的自动化中,比如,门打开了10分钟没有关,则发出警报:   可以用  for:  seconds: 300来表示动作的持续时间, 自动化yaml的写法:

- alias: door time
    initial_state: true
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.door_window_sensor_158d0001c2e45c #后门的内门被打开
          - binary_sensor.door_window_sensor_158d0002288fc4  #后门的外门被打开
        from: 'off'
        to: 'on'  
        for:
          seconds: 300
    action:
    # 百度TTS报警
      - service: tts.baidu_say               
        data_template:
          entity_id:
            - media_player.mpd
          message: "后门好像没关好,请查看!"
          cache: false


但是,在node-red中,什么节点可做到:如果某动作(比如turn on)持续10分钟不变,则触发另一个动作的(比如,报警);如果设备打开了(turn on)但在设定的10分钟内又关了(turn off),则不触发任何下个动作。


这个用”for“作为条件的自动化非常多,做node-red中,有没有一个单一的node可以做到上面的”for“的意思的,如果没有单一节点,用什么最简单的节点组合可以实现上述自动化,具体的流和节点怎么设置。

我搜遍国内中文和国外英文帖子,有各种做法,有的非常复杂,包括用:stoptimer,trigger、trigger-state,delay,timeout、timeouttrigger等等节点或节点组合,但我一直没有实现,请教大神出马,造福小白。

回复

使用道具 举报

40

主题

3057

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11135
金钱
8028
HASS币
182
发表于 2021-3-5 11:50:29 | 显示全部楼层
可以编辑原帖的
Nero
回复

使用道具 举报

33

主题

2039

帖子

5278

积分

论坛元老

Rank: 8Rank: 8

积分
5278
金钱
3239
HASS币
60
QQ
发表于 2021-3-5 12:47:04 | 显示全部楼层
编辑就是修改呀
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-19 04:48 , Processed in 0.138633 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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