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

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

[技术探讨] 这样写condition对吗,为什么没触发

[复制链接]

31

主题

127

帖子

756

积分

论坛积极会员

积分
756
金钱
629
HASS币
0
发表于 2019-3-4 12:57:07 | 显示全部楼层 |阅读模式
一个日落开灯的自动化:日落时判断是否有人在家,有人在家并且灯灭的情况下,把灯开开。用了个template,如下,请大神帮看下哪里错了:


- alias: sunset_at_home_light_on
  initial_state: true
  trigger:
    - platform: sun
      event: sunset
  condition:
    - condition: template
      value_template: "{{ is_state('device_tracker.huawei', 'home') or is_state('device_tracker.iphone6plus', 'home') }}"
    - condition: state
      entity_id: light.living_room_light
      state: 'off'
  action:
    - service: light.turn_on
      entity_id: light.living_room_light


回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2019-3-4 12:59:47 | 显示全部楼层
本帖最后由 情非殇 于 2019-3-4 13:03 编辑

template要拆开吧,你这个or写法从哪发明的呀

condition:
  condition: or
  conditions:
    - condition: and
      conditions:
        - condition: template
          value_template: "{{ is_state('device_tracker.huawei', 'home') or is_state('device_tracker.iphone6plus', 'home') }}"
        - condition: state
          entity_id: light.living_room_light
          state: 'off'    
    - condition: and
      conditions:
        - condition: template
          value_template: "{{ is_state('device_tracker.huawei', 'home') or is_state('device_tracker.iphone6plus', 'home') }}"
        - condition: state
          entity_id: light.living_room_light
          state: 'off'
回复

使用道具 举报

31

主题

127

帖子

756

积分

论坛积极会员

积分
756
金钱
629
HASS币
0
 楼主| 发表于 2019-3-4 13:14:27 | 显示全部楼层
本帖最后由 Dreamray 于 2019-3-4 13:17 编辑
情非殇 发表于 2019-3-4 12:59
template要拆开吧,你这个or写法从哪发明的呀

[code]condition:

感谢回复。
拆开的写法我知道,拆开就不用template了,直接写condition,但这种写法太难读,条理性不够。
逻辑是这样的:
日落时--》手机1在家 或 手机2在家,并且灯是关的
这里其实是两个 或 的condition和另一个condition 呈 and 关系,{手机1在家 or 手机2在家}and 灯是关的。
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2019-3-4 13:23:14 | 显示全部楼层
本帖最后由 情非殇 于 2019-3-4 13:26 编辑
Dreamray 发表于 2019-3-4 13:14
感谢回复。
拆开的写法我知道,拆开就不用template了,直接写condition,但这种写法太难读,条理性不够。
...

看了一下官方文档,你这个逻辑也行
condition:
  condition: and
  conditions:
    - condition: state
      entity_id: 'device_tracker.paulus'
      state: 'home'
    - condition: or
      conditions:
        - condition: state
          entity_id: sensor.weather_precip
          state: 'rain'
        - condition: numeric_state
          entity_id: 'sensor.temperature'
          below: 20

回复

使用道具 举报

0

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
金钱
45
HASS币
0
发表于 2019-3-4 17:35:58 | 显示全部楼层
楼主,你的代码能过配置检查吗?
回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2019-3-4 20:56:59 | 显示全部楼层
node red 欢迎你  这种越来越丰复杂的
回复

使用道具 举报

31

主题

127

帖子

756

积分

论坛积极会员

积分
756
金钱
629
HASS币
0
 楼主| 发表于 2019-3-5 14:35:55 | 显示全部楼层
ys0290 发表于 2019-3-4 17:35
楼主,你的代码能过配置检查吗?

能吧,没检查过,不过没有报错,除了没有触发其它一切正常
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 17:29 , Processed in 0.275154 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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