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

 找回密码
 立即注册
查看: 1451|回复: 5

[技术探讨] lovelace card语法问题

[复制链接]

22

主题

183

帖子

1496

积分

金牌会员

Rank: 6Rank: 6

积分
1496
金钱
1313
HASS币
10
发表于 2022-7-8 08:24:49 | 显示全部楼层 |阅读模式
本帖最后由 Anooki 于 2022-7-8 08:26 编辑

大佬们,我在使用 html-template-card的时候,需要判断设备的状态或者属性,依据状态或者属性显示不同的内容。
比如判断洗衣机的电源状态,如果是开机就获取还剩多少时间的属性值,返回洗衣机已开机,还剩30分钟完成。
如果洗衣机是关机状态,就返回洗衣机已关机。
现在问题是剩余工作时间是数值,和字符串组合在一起就出错(卡片什么都不显示),如果我把剩余时间这个属性换成其他是字符串的属性,就没有问题,这个应该怎么处理
下面的代码中判断正常情况下应该是 == “on”,但是为了解决我的问题,我就把这个临时改成了 “off”

洗衣机已{{"开机,还剩"+state_attr('sensor.sonoff_ab70005440','remain_time')+"分钟完成!" if state_attr('sensor.sonoff_ab70005440','power') == 'off' else "关机!"}} #这种就什么都不显示,remain_time值是数值1

洗衣机已{{"开机,还剩"+state_attr('sensor.sonoff_ab70005440','water_level')+"分钟完成!" if state_attr('sensor.sonoff_ab70005440','power') == 'off' else "关机!"}} #返回洗衣机已开机,还剩auto完成! water_level值是字符串auto
另外还想问一下这种判断如果是多个条件或者嵌套if应该要怎么写啊,搞了好久没搞出来
这是洗衣机的属性
洗衣机.png

回复

使用道具 举报

40

主题

3057

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11135
金钱
8028
HASS币
182
发表于 2022-7-8 08:58:53 | 显示全部楼层
Nero
回复

使用道具 举报

39

主题

2081

帖子

7830

积分

元老级技术达人

积分
7830
金钱
5734
HASS币
110
发表于 2022-7-8 09:14:37 | 显示全部楼层
你试试把remain_time改成data_type呢?
看有没有效果
回复

使用道具 举报

0

主题

42

帖子

659

积分

高级会员

Rank: 4

积分
659
金钱
617
HASS币
0
发表于 2022-7-8 09:29:10 | 显示全部楼层
{% if state_attr(…) -%}
已开机,{{state_attr(…)}}
{%- else -%}
已关机,………
{%- endif %}
回复

使用道具 举报

22

主题

183

帖子

1496

积分

金牌会员

Rank: 6Rank: 6

积分
1496
金钱
1313
HASS币
10
 楼主| 发表于 2022-7-8 09:33:44 | 显示全部楼层
neroxps 发表于 2022-7-8 08:58
http://docs.jinkan.org/docs/jinja2/

感谢哦,问题解决了。
另外在请教一下,卡片配置的时候,敲代码的时候,有时候中文无法输入,有时候光标是往左边跑,这是怎么回事啊
回复

使用道具 举报

40

主题

3057

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11135
金钱
8028
HASS币
182
发表于 2022-7-8 09:38:09 | 显示全部楼层
Anooki 发表于 2022-7-8 09:33
感谢哦,问题解决了。
另外在请教一下,卡片配置的时候,敲代码的时候,有时候中文无法输入,有时候光标 ...

前端问题吧,给 homeassistant 发个 issue
Nero
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-6-2 18:07 , Processed in 0.059772 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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