Configuration
Every option, what it does, and how to use it. Required fields are marked with *.
Card options
Top-level configuration — type, the items list, the read-back entity, and how the order value is stored.
type: custom:sortable-list-card
title: My order
entity: input_text.my_order
value_format: csv
items:
- key: alpha
name: Alpha
- key: beta
name: Betacustom:sortable-list-cardkey or an entity.csv (e.g. a,b,c) or json (e.g. ["a","b","c"]).Display
Toggle the row affordances: the drag handle, arrow buttons, rank number, and entity state.
show_handle: true
show_arrows: true
show_rank: true
show_state: falseSave action
The service called on every reorder. This is what makes the card generic.
When save_action is omitted but entity is set, the card defaults to input_text.set_value on that entity. Provide your own to call any service instead — a script, a number.set_value, an MQTT publish, etc.
Inside data and target, these placeholders are replaced with the new order on every reorder:
# Default behaviour (no save_action needed):
entity: input_text.my_order
# Or a fully custom service:
save_action:
service: script.save_order
data:
order: "{value_list}" # an actual list
csv: "{value_csv}" # "a,b,c"domain.service form (e.g. input_text.set_value or script.save_order).{ entity_id, value: "{value}" } is sent.entity_id, device_id, area_id). Placeholders are substituted here too.value_format (a CSV or JSON string).{value_list} — the value is replaced with an actual list rather than a string.Item options
Each entry in the items array. Items can be plain (key + label) or backed by an entity.
Reference an entity to pull its friendly name, icon, and (with show_state) its state automatically. Set name or icon to override. The stored key defaults to the entity id when omitted.
items:
- key: battery
name: Battery
icon: mdi:battery-charging
- entity: light.kitchen # key, name & icon inferred
- entity: light.living_room
name: Living room # override the labelentity when omitted — at least one of key / entity is required.