请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 52|回复: 1

[已解决] service_temlate难道不支持is_state和state?

[复制链接]

3

主题

21

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
金钱
181
HASS币
0
发表于 2020-6-29 21:54:33 | 显示全部楼层 |阅读模式
本帖最后由 qilihai 于 2020-6-29 22:58 编辑

更新一下自己已经解决了,想用service的state模板要用states !!!HA文档里也有例子,千万不要想当然
data_template还是可以用is_state的

service_template: >
  {% if states('sensor.temperature') | float > 15 %}
    switch.turn_on
  {% else %}
    switch.turn_off
  {% endif %}
entity_id: switch.ac





写了一个很简单的根据当前温度调节风扇转速以及打开和关闭,执行部分代码如下,查询过HA官方文档没说service_temlate不支持is_state和state呀,可我经过试验得出来service_temlate后面只能跟state_attr和is_state_attr,只要跟is_state和state就log报错'state' is undefined ,这个template前人用的好好的呀真的搞不懂了

Home Assistant version 0.111.4
action:
      - service_template: >
     {% if state('sensor.temperature_158d0002faa28d') | float > 20 %}
                fan.turn_on
            {% endif %}    
          entity_id: fan.xiaomi_smart_fan   
Log如下:
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 114, in async_prepare_call_from_config
    domain_service = config[CONF_SERVICE_TEMPLATE].async_render(variables)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 230, in async_render
    raise TemplateError(err)
<font color="Red">homeassistant.exceptions.TemplateError: UndefinedError: 'state' is undefined</font>




评分

参与人数 1金钱 +20 收起 理由
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

0

主题

75

帖子

471

积分

中级会员

Rank: 3Rank: 3

积分
471
金钱
396
HASS币
0
发表于 2020-6-29 23:08:52 | 显示全部楼层
state改成states
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2020-7-8 09:51 , Processed in 0.072028 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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