跳到主要内容

图片实体卡片

图片实体卡片以图像的形式显示实体。除了来自URL的图像外,它还可以显示摄像头实体的图像。

背景会根据实体状态变化。

背景会根据实体状态变化。

将图片实体卡片添加到你的仪表板

  1. 要添加卡片,请按照从视图添加卡片中的步骤1-4操作。

    • 在步骤2中,在按卡片选项卡上,选择图片实体卡片。
  2. 添加图片:

    • 上传图片让你从用于显示Home Assistant UI的系统中选择图像。
    • 本地路径让你选择存储在Home Assistant上的图像。例如:/homeassistant/images/lights_view_background_image.jpg
    • 网络URL让你使用来自网络的图像。例如https://www.home-assistant.io/images/frontpage/assist_wake_word.png
  3. 定义特定于图片实体卡片的参数。

    • 有关特定设置的描述,请参阅YAML配置下的描述。
    • 这些设置也适用于UI。
  4. 保存你的更改。

YAML配置

当你使用YAML模式或只是更喜欢在UI中的代码编辑器中使用YAML时,以下YAML选项可用。

配置变量

type string 必填

picture-entity

entity string 必填

用于图片的摄像头、图像或人员entity_id

camera_image string (可选)

要使用的摄像头entity_id。(如果entity已经是摄像头实体,则不需要)。

camera_view string (可选,默认:auto)

"live"将在启用stream时显示实时视图。

image string (可选)

图像的URL。要使用本地托管的图像,请参阅托管

state_image map (可选)

将实体状态映射到图像(state: image URL,查看下面的示例)。

state_filter map (可选)

基于状态的CSS过滤器

aspect_ratio string (可选)

强制图像的高度为宽度的比例。有效格式:高度百分比值(23%)或使用冒号或"x"分隔符表示的比例(16:916x9)。对于比例,第二个元素可以省略,将默认为"1"(1.78等于1.78:1)。

fit_mode string (可选,默认:cover)

定义图像拉伸/裁剪以适应卡片区域的方式。cover:图像保持其宽高比并填充给定尺寸。图像将被裁剪以适应。contain:图像保持其宽高比,但会调整大小以适应给定尺寸内。fill:图像会调整大小以填充给定尺寸。如果需要,图像将被拉伸或压缩以适应。

name string (可选)

覆盖实体名称。

show_name boolean (可选,默认:true)

在页脚显示名称。

show_state boolean (可选,默认:true)

在页脚显示状态。

theme string (可选)

使用任何已加载的主题覆盖此卡片使用的主题。有关主题的更多信息,请参阅前端文档

tap_action map (可选)

卡片点击时执行的操作。请参阅操作文档

hold_action map (可选)

点击并按住时执行的操作。请参阅操作文档

double_tap_action map (可选)

双击时执行的操作。请参阅操作文档

如何使用state_filter

指定不同的CSS过滤器

state_filter:
"on": brightness(110%) saturate(1.2)
"off": brightness(50%) hue-rotate(45deg)

示例

基本示例:

type: picture-entity
entity: light.bed_light
image: /local/bed_light.png

每个状态使用不同的图像:

type: picture-entity
entity: light.bed_light
state_image:
"on": /local/bed_light_on.png
"off": /local/bed_light_off.png

显示来自FFmpeg摄像头的实时视频流:

type: picture-entity
entity: camera.backdoor
camera_view: live
tap_action:
action: perform-action
perform_action: camera.snapshot
data:
entity_id: camera.backdoor
filename: '/shared/backdoor-{{ now().strftime("%Y-%m-%d-%H%M%S") }}.jpg'

文件名需要是Home Assistant在你的系统中可写的路径。你可能需要配置allowlist_external_dirs文档)。

相关主题