3.8 KiB
state-switch
Allows you to display different cards depending on the state of an entity, the currently logged in user or the current device-browser combination
This card requires card-tools to be installed.
Note in the animation above that the two browser windows have two different users logged in, which changes the rightmost card.
Installation
Please read and follow this guide: Lovelace Plugins
Options
Name | Type | Default | Description |
---|---|---|---|
type | string | Required | custom:state-switch |
entity | string | Required | Controlling entity id, user or browser |
states | object | Required | Map of states to cards to display |
default | string | none | State to use as default |
The entity
parameter can take three different types of value
Entity_id
If the entity
parameter is set to an entity id, which card is displayed will depend on the state of that entity.
cards:
- type: entities
entities:
- input_select.home_mode
- type: custom:state-switch
entity: input_select.home_mode
states:
Home:
type: vertical-stack
cards:
- type: entities
title: Lights
entities:
- light.bed_light
- light.ceiling_lights
- light.kitchen_lights
- type: picture-glance
camera_image: camera.demo_camera
entities: []
Away:
type: alarm-panel
entity: alarm_control_panel.alarm
Guests:
type: glance
title: Lights
entities:
- light.bed_light
- light.ceiling_lights
- light.kitchen_lights
Note that the words on
and off
are magic in yaml, so if the entity is e.g. a switch, you need to quote the keys in the states:
mapping:
states:
"on":
type: markdown
content:>
Light is on
"off":
type: markdown
content:>
Light is off
user
If the entity
parameter is set to user
, which card is displayed will depend on the currently logged in users username.
cards:
- type: custom:state-switch
entity: user
default: default
states:
A:
type: entities
title: User A stuff
entities:
- light.bed_light
- light.ceiling_lights
- light.kitchen_lights
B:
type: glance
title: User B stuff
entities:
- light.bed_light
- light.ceiling_lights
- light.kitchen_lights
default:
type: markdown
content: >
## Unknown user
browser
If the entity
parameter is set to browser
, which card is displayed will depend on the device-browser combination which is currently displaying the page.
This "browser ID" is in the form of a 16 character string with a dash in the middle and is unique, random and persistent for the browser.
If the default
parameter is not set, the default behavior will be to display a small card containing the browser ID.
- type: custom:state-switch
entity: browser
states:
'9c2aaf6f-ed26e3c1':
type: markdown
content: >
Desktop
'c8a4981c-d69c5e3c':
type: markdown
content: >
Mobile