Lovelace-Mushroom项目中的模板卡片使用指南
什么是模板卡片
模板卡片是Lovelace-Mushroom项目中的一个高度自定义的卡片组件,它允许用户通过模板语法自由定义卡片的内容和样式。与普通卡片不同,模板卡片提供了极大的灵活性,开发者可以根据需求完全自定义卡片的显示内容和交互行为。
核心功能特性
- 全模板支持:所有文本内容都支持模板语法,可以动态显示实体状态
- 多动作支持:支持点击(tap)、长按(hold)和双击(double_tap)三种交互动作
- 多种布局选项:支持垂直、水平和默认三种布局方式
- 丰富的显示元素:支持图标、主副文本、徽章和图片等多种显示元素
配置参数详解
基本配置
entity
:卡片关联的实体ID,可在模板中使用{{ states(entity) }}
引用layout
:布局方式,可选vertical
(垂直)、horizontal
(水平)或默认布局fill_container
:布尔值,决定卡片是否填充容器空间
显示元素配置
icon
:卡片图标,支持模板语法icon_color
:图标颜色,支持模板语法primary
:主文本内容,支持模板语法secondary
:副文本内容,支持模板语法和多行显示multiline_secondary
:布尔值,控制副文本是否支持多行显示badge_icon
:徽章图标,支持模板语法badge_color
:徽章颜色,支持模板语法picture
:卡片背景图片,支持模板语法
交互动作配置
tap_action
:点击动作配置hold_action
:长按动作配置double_tap_action
:双击动作配置
高级配置
entity_id
:指定卡片需要监听的实体列表,用于精确控制状态更新
模板语法应用
模板卡片的核心优势在于支持强大的模板语法,以下是一些实用示例:
-
显示实体状态:
primary: '{{ states("sensor.temperature") }}°C'
-
条件判断:
icon_color: >- {% if states("sensor.temperature")|float > 30 %} red {% else %} blue {% endif %}
-
天气图标:
icon: 'weather-{{ states("weather.home") }}'
使用场景示例
温度显示卡片
type: custom:mushroom-template-card
entity: sensor.living_room_temp
icon: mdi:thermometer
icon_color: |
{% set temp = states("sensor.living_room_temp")|float %}
{% if temp > 30 %}red
{% elif temp > 20 %}orange
{% else %}blue
{% endif %}
primary: '{{ states("sensor.living_room_temp") }}°C'
secondary: Living Room
天气信息卡片
type: custom:mushroom-template-card
entity: weather.home
icon: 'weather-{{ states("weather.home") }}'
primary: '{{ states("weather.home") }}'
secondary: |
Temp: {{ state_attr("weather.home", "temperature") }}°C
Hum: {{ state_attr("weather.home", "humidity") }}%
multiline_secondary: true
最佳实践建议
- 性能优化:合理使用
entity_id
参数限制卡片监听的实体范围,避免不必要的更新 - 错误处理:在模板中添加默认值处理,如
{{ states("sensor.temp")|default("N/A") }}
- 布局选择:内容较多时使用垂直布局,简洁信息使用水平布局
- 颜色搭配:利用
icon_color
和badge_color
增强可视化效果
模板卡片是Lovelace-Mushroom项目中功能最强大的卡片之一,通过灵活运用模板语法,几乎可以实现任何自定义显示需求。掌握它的使用可以极大提升智能家居控制界面的个性化和实用性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考