Skip to content

Latest commit

Β 

History

131 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Filament Card

Filament Card

A modern and highly configurable Home Assistant Lovelace card for visualizing filament, consumables, and other resource-based entities.

Originally built for Spoolman, the card has evolved into a flexible visualization card supporting multiple presets, rich customization, filtering, and the full Home Assistant action model.

Home Assistant HACS Custom License Donate

Preview Preview


✨ Features

Spoolman

  • Automatic discovery of Spoolman filament entities
  • Dynamic maximum weight from filament_weight
  • Material, color, vendor or no grouping
  • Include and exclude filters for groups
  • Custom group ordering
  • Per spool actions
  • Group title icons, colors and actions
  • Optional filament colors
  • Hide archived spools

Custom Presets

  • Custom Attributes
  • Custom Multiple Entities
  • Planned Home Assistant Label preset
  • Shared grouping, sorting, filtering and appearance options

Filtering

  • Include only selected groups
  • Exclude selected groups
  • Dynamic filter values based on the current grouping
  • Works with all presets
  • Case-insensitive matching
  • Filters are applied before grouping and sorting

Appearance

  • Vertical and horizontal bars
  • Configurable name and value positions
  • Group titles
  • Automatic text color
  • Home Assistant theme support

Actions

Supports the native Home Assistant action model:

  • Tap
  • Double Tap
  • Hold

Supported actions:

  • More Info
  • Navigate
  • URL
  • Call Service
  • Assist
  • None

πŸ“¦ Installation

HACS

  1. Open HACS
  2. Add this repository as a Custom Repository
  3. Install Filament Card
  4. Restart Home Assistant
  5. Refresh your browser

πŸš€ Presets

Spoolman

type: custom:filament-card
preset: spoolman

Automatically discovers all Spoolman entities.

Custom Attributes

Entities expose all required information through attributes.

type: custom:filament-card
preset: custom_attributes

custom_attribute_entities:
  - sensor.pla_black
  - sensor.petg_white

Supported attributes:

Attribute Description
friendly_name Display name
group Group
vendor Vendor
color Bar color
max_value Maximum value
unit Unit
value / remaining_weight Current value
tap_action Item tap action
double_tap_action Item double tap action
hold_action Item hold action

Custom Multiple Entities

type: custom:filament-card
preset: custom_entities

custom_items:
  - name: PLA Black
    value_entity: sensor.pla_black_remaining
    max_entity: sensor.pla_black_capacity
    color_entity: sensor.pla_black_color
    group_entity: sensor.pla_black_group

πŸ” Filters

Filters allow you to control which groups are displayed.

The available filter values are based on the currently selected group_by option.

For example:

  • group_by: material filters materials
  • group_by: vendor filters vendors
  • group_by: color filters colors

Filters work with all presets and are applied before grouping and sorting.

Include Filter

When include contains values, only matching groups are displayed.

type: custom:filament-card
preset: spoolman
group_by: material

filters:
  include:
    - PLA
    - PETG

In this example, only PLA and PETG spools are displayed.

Exclude Filter

Values listed under exclude are hidden.

type: custom:filament-card
preset: spoolman
group_by: material

filters:
  exclude:
    - TPU

In this example, all groups except TPU are displayed.

Include and Exclude

Both filters can be combined.

type: custom:filament-card
preset: spoolman
group_by: material

filters:
  include:
    - PLA
    - PETG
    - TPU

  exclude:
    - TPU

When the same value exists in both lists, exclude takes precedence.

The visual editor automatically prevents the same value from remaining in both lists.

Filter Behavior

  • An empty or missing include list allows all values
  • Values in exclude are always hidden
  • Matching is case-insensitive
  • Filters are disabled when no grouping is selected
  • Filter values are reset when the grouping type is changed in the visual editor

πŸ–± Actions

Global Actions

tap_action:
  action: navigate
  navigation_path: /dashboard-test/filament

Per Spool Actions

For the Spoolman preset:

spool_actions:
  sensor.spoolman_pla_black:
    tap_action:
      action: navigate
      navigation_path: /dashboard-test/pla

Per Custom Item Actions

custom_items:
  - name: PLA
    value_entity: sensor.pla

    tap_action:
      action: more-info

🎨 Group Title Overrides

Configure group titles individually.

group_title_icons:
  PLA: mdi:printer-3d-nozzle
  PETG: mdi:water

group_title_colors:
  PLA: "#4caf50"

group_title_actions:
  PLA:
    tap_action:
      action: navigate
      navigation_path: /dashboard-test/pla

Supported overrides:

  • Icons
  • Colors
  • Tap actions
  • Double tap actions
  • Hold actions

βš™ Common Options

Option Default
title Filament
preset spoolman
group_by material
group_order []
group_sort_by name
group_sort_direction asc
filters.include []
filters.exclude []
sort_by remaining_weight
sort_direction asc
bar_direction vertical
name_position bottom
value_position center
show_name true
show_group_title true
group_icon mdi:printer-3d-nozzle
use_filament_color true

🧩 Visual Editor

The visual editor supports:

  • Preset selection
  • Entity Picker
  • Icon Picker
  • Native Home Assistant action editor
  • Collapsible sections
  • Group Title Overrides
  • Automatic group detection
  • Include filters
  • Exclude filters
  • Dynamic filter options based on the selected grouping

The filter editor uses multi-select fields populated from the groups currently detected by the card.


πŸ“‹ Examples

Minimal

type: custom:filament-card

Spoolman

type: custom:filament-card
preset: spoolman
group_by: material

Spoolman with Filters

type: custom:filament-card
preset: spoolman
group_by: material

filters:
  exclude:
    - TPU

Spoolman with Include Filter

type: custom:filament-card
preset: spoolman
group_by: vendor

filters:
  include:
    - Polymaker
    - Bambu Lab

Custom Attributes

type: custom:filament-card
preset: custom_attributes

custom_attribute_entities:
  - sensor.pla_black

Custom Attributes with Filters

type: custom:filament-card
preset: custom_attributes
group_by: group

custom_attribute_entities:
  - sensor.pla_black
  - sensor.petg_white
  - sensor.tpu_red

filters:
  exclude:
    - TPU

Custom Multiple Entities

type: custom:filament-card
preset: custom_entities

custom_items:
  - name: PLA Black
    value_entity: sensor.pla_black_remaining

Custom Multiple Entities with Filters

type: custom:filament-card
preset: custom_entities
group_by: material

custom_items:
  - name: PLA Black
    value_entity: sensor.pla_black_remaining
    group: PLA

  - name: PETG White
    value_entity: sensor.petg_white_remaining
    group: PETG

  - name: TPU Red
    value_entity: sensor.tpu_red_remaining
    group: TPU

filters:
  include:
    - PLA
    - PETG

🀝 Contributing

Contributions, feature requests and bug reports are welcome.

Please use the GitHub issue tracker.


πŸ“„ License

MIT

Inspired by Spoolman and built for the Home Assistant community.

About

A highly configurable Home Assistant card for visualizing filament and other consumables from Spoolman or custom entities.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages