自动化Home Assistant (二)
自动化Home Assistant (二)
OSC_KNIURp 发表于6个月前
自动化Home Assistant (二)
  • 发表于 6个月前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

之后,让我们深入了解并创建自动化规则:当太阳落山时打开灯

我们将定义一个触发器来跟踪日落,并告诉它在太阳落山时触发。触发此事件时,将调用light.turn_on服务,无任何参数。因为我们不指定任何参数,它将打开所有的灯。

# Example configuration.yaml entry
group:
  living_room:
    - light.table_lamp
    - light.ceiling

automation:
  alias: Turn on light when sun sets
  trigger:
    platform: sun
    event: sunset
    offset: "-01:00:00"
  condition:
    condition: state
    entity_id: group.all_devices
    state: 'home'
  action:
    service: light.turn_on
    entity_id: group.living_room

从0.28开始,自动化规则可以从前端重新加载,并默认显示。使用hide_entity:您可以控制此行为。如果您正在书写规则,当规则完成了但是您不希望在前台看到它时,您可以将hide_entity设置为True。要在Home Assistant启动时禁用自动化,将initial_state设置为False。

经过几天的运行这个自动化规则,你会意识到这个自动化规则是不够好的。某天天渐渐黑了,这时灯打开了而你却不在家。需要调整一下时间。让我们为日落触发器添加一个偏移和一个条件,有人在家时再打开灯。

# Example configuration.yaml entry
automation:
  alias: Turn on light when sun sets
  trigger:
    platform: sun
    event: sunset
    offset: "-01:00:00"
  condition:
    condition: state
    entity_id: group.all_devices
    state: 'home'
  action:
    service: light.turn_on

现在看起来一切都很好。你开始喜欢这个自动化业务,买些更多的灯,这次你把它们放在卧室里。但是你现在意识到的是,当太阳落山时,卧室里的灯也被打开了!这时候需要调整自动化规则:只能打开客厅灯。

你所做的第一件事就是在应用程序中查看开发者工具中的实体(第二个图标)。你看到你的灯的名字,把他们写下来:light.table_lamp,light.bedroom,light.ceiling。

在这个自动规则中我们不适用灯的实体ID硬编码,我们将设置一个组。这将允许我们在应用程序中单单看到客厅,并能够根据自动化规则解决。

所以我们调整配置来添加组,并且自动化规则只打开组。

# Example configuration.yaml entry
group:
  living_room:
    - light.table_lamp
    - light.ceiling

automation:
  alias: Turn on light when sun sets
  trigger:
    platform: sun
    event: sunset
    offset: "-01:00:00"
  condition:
    condition: state
    entity_id: group.all_devices
    state: 'home'
  action:
    service: light.turn_on
    entity_id: group.living_room

下一步:存在检测»

共有 人打赏支持
粉丝 0
博文 23
码字总数 17192
×
OSC_KNIURp
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: