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

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

[求助] 关于时间记录的自动化

[复制链接]

26

主题

555

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1405
HASS币
40
发表于 2019-6-1 13:50:02 | 显示全部楼层 |阅读模式
一孕傻三年,这句话没错,我太太刚刚二胎生下宝宝,经常忘记是什么时候喂奶的。
咱也不知道,咱也不敢问。

于是就想到了用个小米开关,调奶粉的时候就按一下。通知一个当前时间,我是想把下次喂奶时间3个小时后也加上去,无奈墨水不够,求助于各位大神。



- alias: milk
  initial_state: true 
  trigger:
      platform: event
      event_type: xiaomi_aqara.click
      event_data:
        entity_id: binary_sensor.switch_xxxxxxxx #小米开关03
        click_type: single
  action:
    - service: notify.ios_iphone
      data:
        title: "喂奶时间" 
        message: "{{states('sensor.time')}}"

回复

使用道具 举报

6

主题

226

帖子

3723

积分

论坛元老

Rank: 8Rank: 8

积分
3723
金钱
3497
HASS币
0
发表于 2019-6-1 15:46:07 | 显示全部楼层
用自动化 触发1个3小时的脚本????????
回复

使用道具 举报

10

主题

680

帖子

5656

积分

论坛元老

Rank: 8Rank: 8

积分
5656
金钱
4971
HASS币
50
发表于 2019-6-1 22:23:51 | 显示全部楼层
delay一个3小时,然后通知?
回复

使用道具 举报

75

主题

1976

帖子

8183

积分

元老级技术达人

积分
8183
金钱
6157
HASS币
430

活跃会员教程狂人

发表于 2019-6-1 22:29:45 | 显示全部楼层
action里面加delay试一下呗,感觉延时三个小时不是太靠谱。

加上TTS更好。

我蛋疼还特意编了段不知道行不行的代码:

  - alias: milk
    initial_state: true 
    hide_entity: true
    trigger:
      - platform: event
        event_type: xiaomi_aqara.click
        event_data:
          entity_id: binary_sensor.switch_xxx
          click_type: single  
    condition:  
      - condition: time
        after: '09:00:00'
        before: '18:00:00'
    action:
      - service: notify.ios_iphone
        data:
          title: "媳妇儿,求你件事儿。"
          message: "{{states('sensor.time')}}"
      - delay:  
          minutes: 180
      - service: tts.baidu_say  
        data_template: 
          entity_id: media_player.xxx
          message:  >
           "我求你的事情,现在是时候去干了,去给孩子喂奶,拜托拜托。"
          cache: false

所有过往,皆为序章。
回复

使用道具 举报

26

主题

555

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1405
HASS币
40
 楼主| 发表于 2019-6-2 23:02:46 | 显示全部楼层
谢谢了,
不想要delay ,不需要TTL,会吵醒婴儿。
就单单想有个静静的通知我当前喂奶时间和下一个喂奶时间。

{states('sensor.time')}时间的类型不是int
变量
t={states('sensor.time')} | int
t1=t+3:00

类似于这些在自动化YMAL中不会写
回复

使用道具 举报

8

主题

255

帖子

1223

积分

金牌会员

Rank: 6Rank: 6

积分
1223
金钱
968
HASS币
30
发表于 2019-6-3 20:29:04 | 显示全部楼层
本帖最后由 laynexx 于 2019-6-3 20:40 编辑

需求解析:
触发小米开关,当作喂奶一次(前提是这个小米开关只用来干喂奶这一件事)通知当前时间,这个需求没有意义,手机接到推送就是当前时间
通知上次喂奶时间,这个需求也没有意义,系统自动判断是否够3小时
可以自己加condition来约束自动化有效时间

逻辑:

1、1分钟trigger一次,检测距上次小米开关触发是否够3小时
2、如果够3小时,推送消息给你太太手机提醒喂奶
3、喂奶的时候重新按小米开关,标记小米开关新的最后更新时间
代码:


- id: '你的自动化ID'
  alias: 喂奶
  trigger:
  - platform: time_pattern
    hours: 0
    minutes: /1
    seconds: 0
  condition:
  - condition: template
    value_template: '{{ (as_timestamp(now())-as_timestamp(states.小米开关.last_updated)) > 10800 }}'
  action:
  - service: notify.ios_你太太手机
    data_template:
      title: 喂奶
      message: 三小时到了,该喂奶了
      data:
        push:
          badge: 5







评分

参与人数 1金钱 +8 收起 理由
jyz_0501 + 8 解决了我每天只想触发一次的逻辑~~.

查看全部评分

回复

使用道具 举报

26

主题

555

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1405
HASS币
40
 楼主| 发表于 2019-6-13 21:29:55 | 显示全部楼层
laynexx 发表于 2019-6-3 20:29
需求解析:
触发小米开关,当作喂奶一次(前提是这个小米开关只用来干喂奶这一件事)通知当前时间,这个需 ...

多谢了,你写的挺高大上的,不过这个推送的并不难到我,用延时什么的都可以,就是不想二次推送给手机了。

就是我按一次小米开关就显示当前时间 和下次喂奶时间。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 07:51 , Processed in 0.071083 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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