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

 找回密码
 立即注册
查看: 136|回复: 3

[技术探讨] 求助Templating语句,查找指定条件

[复制链接]

4

主题

54

帖子

862

积分

高级会员

Rank: 4

积分
862
金钱
808
HASS币
0
发表于 2024-12-10 19:51:28 | 显示全部楼层 |阅读模式
按照官方的说明,下面的 语句可以筛选出 亮度255的实体
List of lights that are on with a brightness of 255:
{{ ['light.kitchen', 'light.dining_room'] | select('is_state', 'on') | select('is_state_attr', 'brightness', 255) | list }}




我依葫芦画瓢也能用下面的语句筛选出 “标签 ke_zhong_she,状态是heat的,设定温度是22” 的全部空调实体。但是设定温度哪怕是23,我也只能再写一条自动化
{{ label_entities('ke_zhong_she')  | select('is_state', 'heat') | select('is_state_attr', 'temperature', 22) | list }}


我想请教各位大佬的是,如何写才能一次筛选出 “标签 ke_zhong_she,状态是heat的,设定温度大于等于22” 的全部空调实体。
回复

使用道具 举报

13

主题

616

帖子

3199

积分

论坛元老

HomeAssistant

Rank: 8Rank: 8

积分
3199
金钱
2578
HASS币
20
发表于 2024-12-11 08:59:26 | 显示全部楼层
这样的可以问问ai
回复

使用道具 举报

7

主题

350

帖子

3291

积分

论坛元老

Rank: 8Rank: 8

积分
3291
金钱
2941
HASS币
0
发表于 2024-12-11 10:14:05 | 显示全部楼层
{% set temp = states.sensor | selectattr('entity_id','in',['a','b']) %}
{% for x in temp if x.attributes.temperature|float > 22 %}
{{ x }}
{% endfor %}
大致是这个意思
回复

使用道具 举报

4

主题

54

帖子

862

积分

高级会员

Rank: 4

积分
862
金钱
808
HASS币
0
 楼主| 发表于 2024-12-11 19:48:23 | 显示全部楼层
感谢两位的回复。
直接问AI不行,被折磨了2天了,chatgpt都写不对
在@yuyuye 大佬的提示下搞定,留个印记供参考

  {% set temp = states.climate | selectattr('entity_id', 'in',
        label_entities('ke_zhong_she')) %} {% set filtered = temp |
        selectattr('state', 'equalto', 'heat') |
        selectattr('attributes.temperature', 'greaterthan', 22) |
        selectattr('attributes.current_temperature', 'greaterthan', 22) %} {%
        set entity_ids = filtered | map(attribute='entity_id') | list %} {{
        entity_ids }}
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-26 19:36 , Processed in 0.163221 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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