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

 找回密码
 立即注册
查看: 24219|回复: 15

[技术探讨] 自动化触发条件写法求助

[复制链接]

1

主题

45

帖子

231

积分

论坛积极会员

积分
231
金钱
186
HASS币
0
发表于 2018-5-28 10:44:56 | 显示全部楼层 |阅读模式
触发:通过iPhone对siri说:“看电影”,动作:投影打开,功放打开,幕布打开,小米盒子打开。

设备:小米万能遥控器
现在Hass已经将小米万能遥控器接入,homekit上也看得到单个的控制按钮,比如打开投影,打开功放,(小米盒子不行,没法学习红外码)(幕布也不行,是射频的,考虑后期加装射频diy模块)

这个动作在小米app已经可以实现,但是需要手动点击触发。我的想法是在hass上编写自动化用siri来触发,实现方法就是想做个虚拟按钮,按钮按下实现触发,但是不知道这个按钮和自动化的触发怎么写。才接触hass的新人,很多不懂希望能有人带一下,谢谢。



回复

使用道具 举报

26

主题

553

帖子

2728

积分

金牌会员

Rank: 6Rank: 6

积分
2728
金钱
2150
HASS币
100

教程狂人

发表于 2018-5-28 12:13:31 | 显示全部楼层
你已经分析得很细了呀,虚拟按钮也知道设置,自己肯定就能搞定,HA的自动化不难,要快点上手的话,可以直接拿别人的看看改改。
回复

使用道具 举报

26

主题

553

帖子

2728

积分

金牌会员

Rank: 6Rank: 6

积分
2728
金钱
2150
HASS币
100

教程狂人

发表于 2018-5-28 12:14:38 | 显示全部楼层
这个直接可以写一个场景吧
回复

使用道具 举报

27

主题

387

帖子

3257

积分

元老级技术达人

积分
3257
金钱
2850
HASS币
40

教程狂人

发表于 2018-5-28 12:15:40 | 显示全部楼层
使用input_boolean功能完成即可
https://www.home-assistant.io/components/input_boolean/
回复

使用道具 举报

2

主题

240

帖子

1761

积分

金牌会员

Rank: 6Rank: 6

积分
1761
金钱
1521
HASS币
0
发表于 2018-5-28 15:24:00 | 显示全部楼层
直接写个场景就行  虚拟开关会出现错误反馈
回复

使用道具 举报

1

主题

45

帖子

231

积分

论坛积极会员

积分
231
金钱
186
HASS币
0
 楼主| 发表于 2018-5-28 16:09:58 | 显示全部楼层
windgo 发表于 2018-5-28 12:15
使用input_boolean功能完成即可
https://www.home-assistant.io/components/input_boolean/

谢谢回答,就是这个,已经把虚拟按键弄好了,学习自动化的编写
回复

使用道具 举报

9

主题

787

帖子

3858

积分

论坛元老

Rank: 8Rank: 8

积分
3858
金钱
3071
HASS币
87
发表于 2018-5-28 17:33:02 | 显示全部楼层

自己的家庭影院打开脚本,可以参考一下.然后在写一个关闭的,做成input_boolean即可

#家厅影院开
open_movie:
  sequence:
    #1开幕布
    - service: cover.close_cover
      entity_id: cover.mubu
    #2开盒子
    - service: switch.turn_on
      entity_id: switch.egbox_sw
    #3开投影
    - service: switch.turn_on
      entity_id: switch.touying_all
    #4开功放
    - service: media_player.turn_on
      entity_id: media_player.lr_av
    #切换盒子
    - service: media_player.select_source
      data:
         entity_id: media_player.lr_av
         source: Blu-ray
    #白天关窗帘,晚上关灯
    - service_template: >
        {% if states.sensor.sun_state.state == '日出' %}
          cover.close_cover
        {% else %}  
          switch.turn_off
        {% endif %}
      data_template:
        entity_id: >
          {% if states.sensor.sun_state.state == '日出' %}
            cover.window
          {% else %}  
            switch.lr_c2c6c6_2
          {% endif %} 
    #6如果电视开着,关电视          
    - condition: state
      entity_id: media_player.lr_tv
      state: 'on'
    - service: media_player.turn_off
      entity_id: media_player.lr_tv
回复

使用道具 举报

19

主题

457

帖子

8161

积分

元老级技术达人

云淡风轻近午天

积分
8161
金钱
7704
HASS币
0

教程狂人

发表于 2018-5-28 20:34:40 | 显示全部楼层
给你个参考,直接用script就可以了
没有仔细看你的需求,但是你要的一系列动作直接一个script完成
xiaomi_tv_turn_off_monitor:
  sequence:
    - service: script.xiaomi_tv_button_cancel
    - delay: 00:00:01
    - service: script.xiaomi_tv_button_cancel
    - delay: 00:00:01
    - service: script.xiaomi_tv_button_power
    - delay: 00:00:01
    - service: script.xiaomi_tv_button_right
    - delay: 00:00:01
    - service: script.xiaomi_tv_button_right
    - delay: 00:00:01
    - service: script.xiaomi_tv_button_enter
回复

使用道具 举报

28

主题

559

帖子

4392

积分

论坛元老

Rank: 8Rank: 8

积分
4392
金钱
3833
HASS币
0
发表于 2018-5-28 22:36:28 | 显示全部楼层
luzai 发表于 2018-5-28 20:34
给你个参考,直接用script就可以了
没有仔细看你的需求,但是你要的一系列动作直接一个script完成
[mw_shl_ ...

问下 脚本能虚拟成一个开关吗
回复

使用道具 举报

35

主题

533

帖子

2895

积分

金牌会员

Rank: 6Rank: 6

积分
2895
金钱
2362
HASS币
0
发表于 2018-5-28 22:48:19 | 显示全部楼层
令狐鸣 发表于 2018-5-28 17:33
[md]

自己的家庭影院打开脚本,可以参考一下.然后在写一个关闭的,做成input_boolean即可

大侠,请教一下,这段自动化的第6个语句。
其中condition是类似if then语句的吗?
只有电视的状态为on时候,才会执行下面的service?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 06:38 , Processed in 0.066106 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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