LCARdS 2026.04.11.2
New Features
Image Support
Image support has been added to both card Textures and Backgrounds (#336)
You can configure images as layers, just like you do animations. Just like any layer, they can be stacked with the others, allowing for some interesting and creative visuals. Select builtin images from the asset library, or provide your own (served from a local Home Assistant or any URL)
Asset Library - Images - raster image type has been added to the Asset Library system, and some freely distributable images are included as a bultin content pack.
Text Zones - Icon Area Support
Text zones will now auto-calculate and respect icon areas (#335)
Now you can place text fields in the icon area (icon), in the body/content area (body), or anywhere on the full card (full):
Animations: on_entity_change trigger condition system
The on_entity_change animation trigger now supports three condition modes, turning it from a simple "fire on every change" event into a proper lifecycle-aware animation gate:
from_state / to_state - are single-use fire-and-forget guards. The animation only plays when the entity transitions from a specific state, to a specific state, or both. Great for one-shot effects like a flash when a light turns on.
while - ongoing lifecycle condition. Combined with loop: true, the animation starts automatically when the condition becomes true and stops itself when it clears. Perfect for looping alerts or indicators that should run exactly as long as a condition holds (e.g. blink while a switch is on, when there is a weather alert, etc.)
check_on_load: evaluates the condition against the entity's current state on card load, so a looping animation starts immediately if the condition is already met rather than waiting for the next state change.
attribute - any condition can target an attribute instead of the main state, including the virtual helper attribute brightness_pct which allows for checking light brightness based on percent.
vs. the Rules Engine: use on_entity_change conditions for animation-only, single-entity logic that lives entirely within one card's config. Use Rules for anything that needs to apply style patches (colors, borders) across multiple overlays or evaluate multi-entity compound conditions. For a simple "blink this button while active", the trigger conditions are less config than a full rule.
Updates & Fixes
- Update: Card
overflow: visibleis honoured preventing clipped animations if the card is scaled outside its bounds. - Update: Sound System: remove browser localStorage fallback and only use the back-end storage via WebSocket to the integration.
- Update: enabled virtual attriubute
brightness_pctto be used available to all cards via the state resolution system. This allows to easily reference light brightness as a percentage[0..100]without the need of mapping the range[0..255] - Fix: Elbow card using
framepreset now properly clips the texture layer to the shape (preventing overlap with content/background area) - Fix: RulesEngine - various fixes including streamlined entity management by removing cached entity list and utilizing live dependency index. Additional console debug commands added.
- Fix: drag&drop in animations editor lists.
- Fix: Animations: fixed regression for
ease/easingparameter confusion. Fixed animation parameters for top-level config keys that were buried in theparamsobject (and non-functional, likeease)
Note: due to the nature of the bugs in the animation system and the required fixes - your animation configs may need to be updated. The editor will automatically fix the configs if you edit the animation and make a change to them (the edit fires the code that will write the fixed configurations.)
Full Changelog: 2026.04.1.1...2026.04.11.2