本帖最后由 holala 于 2017-7-26 17:00 编辑
“外出与回来”这个自动化要合理是比较复杂的,自动化涉及了位置,时间,设备,状态等等各方面的运用,其中#condition-条件的合理设计尤为复杂。
自动化场景是:
trigger- >触发门磁开关
condition - >条件zone=家庭
action - >发生TTS欢迎和再见词,设备自动开关等
看看大家有没有更好的更合理的方式实现自动化?
讨论内容:
条件如果用区,会经常出现不准确,定位有偏差的问题和有时下楼散个步也会经常短路;条件如果用门磁的传感器设备,那如果本来就是区=家的状态每次都会触发;
触发如果换为带条件换为门磁,那会造成由于定位不准经常不触发;
我的方案:
。新建一个host_away的input_boolean判断人员状态作为条件,当你准备离家的时候触发打开,你当回到家的时候触发关闭这样基本上可以解决上述问题
- id: away_mode_off
alias: Away Mode Off
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.door_window_sensor_xxxxxxxxx
from: 'off'
to: 'on'
condition:
condition: and
conditions:
- condition: state
entity_id: input_boolean.away_mode
state: 'on'
- condition: or
conditions:
- condition: zone
entity_id: device_tracker.host1
zone: zone.home
event: enter
- condition: zone
entity_id: device_tracker.host2
zone: zone.home
event: enter
action:
- delay: 00:00:10
- service: media_player.volume_set
data_template:
entity_id: media_player.google_home
volume_level: 0.6
- service: tts.baidu_say
entity_id: media_player.google_home
data_template:
message: >
{% if is_state('device_tracker.host1', 'home') %}
"帅帅的男主人,欢迎回家!现在的时间是{{ states.sensor.date.state }}。"
{% elif is_state('device_tracker.host2', 'home') %}
"美美的女主人,欢迎回家!现在的时间是{{ states.sensor.date.state }}。"
{% elif is_state("device_tracker.tristan","host1") and is_state("device_tracker.host2","home") %}
"美美的和帅帅的主人,欢迎你们回家!现在的时间是{{ states.sensor.date.state }}。"
{% else %}
"亲爱的主人,欢迎回来!现在的时间是{{ states.sensor.date.state }},当前室内温度{{states.sensor.temperature_xxxxxxxxx.state}}度,湿度是百分之{{states.sensor.humidity_xxxxxxxxx.state}}。"
{% endif %}
cache: false
- service: input_boolean.turn_off
entity_id: input_boolean.away_mode
- delay: 00:00:10
看看大家有没有更好的更合理的方式实现自动化?
看看大家有没有更好的更合理的方式实现自动化?
看看大家有没有更好的更合理的方式实现自动化?
|