Home
Softono
nodalia-cards

nodalia-cards

Open source JavaScript
87
Stars
3
Forks
3
Issues
0
Watchers
1 week
Last Commit

About nodalia-cards

A modern UI card system for Home Assistant focused on clean design, smooth interactions and real usability

Platforms

Web Self-hosted

Languages

JavaScript

Links

๐ŸŽจ Nodalia Cards

Home Assistant Package Release channel Stable Pre-release License GitHub Buy Me a Coffee

Nodalia Cards is a premium-style custom card bundle for Home Assistant focused on delivering a more polished, fluid and app-like dashboard experience.

The goal is not only to create beautiful cards, but to build a cohesive frontend system for Home Assistant: consistent interactions, modern animations, mobile-first layouts, shared visual language, integrated editors and smart contextual UI.

Release channels:

  • main โ†’ stable, recommended
  • beta โ†’ preview builds for advanced users
  • alpha โ†’ experimental / may break

See CONTRIBUTING.md โ†’ Releases: main, beta, and alpha.


โœจ What makes Nodalia different?

  • Unified visual system across all cards
  • Mobile-first layouts and interactions
  • Smooth transitions and tactile feeling UI
  • Shared design tokens and animations
  • Smart contextual cards
  • Native-feeling visual editors
  • Advanced Home Assistant integrations
  • Designed for real daily dashboards
  • Consistent UX instead of isolated cards

๐Ÿ“ธ Preview

Animations and interactions in action:


๐Ÿš€ Whatโ€™s new in 1.2.1.1

Current stable 1.2.1.1 โ€” hotfix for person-card i18n, entity-card cover/lock toggles, alarm PIN flow, and Lovelace tap-action parsing. Match nodalia-cards-1.2.1.1.js. Release notes: CHANGELOG.md; alpha history: CHANGELOG-PRERELEASES.md.

Alpha.4 highlights

  • Calendar disconnect invalidates refresh runs; weather forecast WS guarded.
  • joinParts on insignia, person, fan, humidifier, weather, alarm, gauge.
  • Notifications/power-flow/media skip work when signature unchanged.
  • Vacuum select + advance-vacuum internal services aligned with strict mode.

Alpha.3 highlights

  • Media-player / climate async guards; graph hover without full re-render.
  • Lighter render signatures (advance-vacuum, climate, cover, vacuum, fav).
  • Shared editor color resolver on 10 more cards; strict services opt-in on media/nav/climate/vacuum.

Alpha.2 highlights

  • Shared scheduleDeferTimer โ€” press/panel timers cleared on card disconnect.
  • Scenes empty state: no redundant re-render on every HA poll.
  • Power-flow diagram nodes: per-tint icon contrast.
  • Calendar / notifications: async refresh respects disconnected lifecycle.

Alpha.1 highlights

  • Calendar editor: guarded config path updates (security).
  • Advance Vacuum: admin-only webhooks by default; async lifecycle guards on map actions.
  • Graph card: fewer redundant renders while history loads.
  • Light / Climate / Scenes: improved bubble icon contrast and proportional light icon sizing.
  • Power Flow: lighter render signatures on busy dashboards.

๐Ÿ“ฆ Stable 1.2.0

Stable release 1.2.0 on main โ€” nodalia-cards-1.2.0.js. Full release notes: CHANGELOG.md.

๐ŸŽฌ Scenes Card

New card for Home Assistant *`scene.`** entities:

  • Grid or list layout with per-scene tint
  • Tap to scene.turn_on with launch feedback (no dashboard scroll jump)
  • Optional more-info / hold actions
  • Visual editor, haptics, and Nodalia styling

๐ŸŒก๏ธ Climate setpoint schedule

Weekly consigna agenda on the Climate Card:

  • Fullscreen composer with drag/resize time blocks
  • Save via webhook + optional input_text helper (compact v2 / v3 storage)
  • Path A (per-slot YAML on disk) or Path B (single automation) โ€” see docs/climate-setpoint-schedule.md
  • WebSocket webhook/handle from Lovelace for reliable automation triggers

โšก Power Flow โ€” home popup & consumption

  • Tap Home to open a device breakdown overlay (individual loads + flows)
  • Optional day/month consumption chips on the card header
  • Visual editor: native entity selectors and card-based individual rows

๐Ÿ”’ Security & interaction (1.2.x)

  • Climate schedule webhooks default to admin-only (opt in for non-admin dashboards)
  • Slider bubble / control chrome no longer toggles light, fan, humidifier, or cover
  • Editor setByPath blocks prototype pollution keys

๐Ÿ“ฆ Earlier milestones (1.0.x / 1.1.x)

The sections below summarize the 1.0.0 / 1.1.x milestones.

๐Ÿง  Notifications Card

A completely new smart notification center for Home Assistant dashboards.

Features include:

  • Expandable stacked notification UI
  • Persistent dismiss system
  • Smart contextual recommendations
  • Mobile notification delivery
  • Calendar integrations
  • Vacuum / weather / humidity intelligence
  • Entity-specific overrides
  • Critical mobile alerts
  • Visual editor support
  • Animated transitions and compact mode

๐Ÿ—“๏ธ Calendar Card

The new calendar experience for Home Assistant.

Features include:

  • Native Home Assistant event creation
  • Native event deletion
  • Multiple calendar support
  • Expanded popup views
  • Daily / weekly / monthly layouts
  • Weather forecast integration
  • Recurring event support
  • Shared persistence
  • Compact mobile-friendly agenda UI
  • Visual composer popup
  • Calendar tinting and labels

๐Ÿค– Advanced Vacuum Experience

The vacuum ecosystem became significantly more powerful.

Highlights:

  • Advanced map interaction
  • Rooms / zones / goto / routines
  • Shared session persistence
  • Better Roborock integrations
  • Real error detection
  • Optimized map rendering
  • Reduced map reloads
  • Smoother transitions
  • Cleaner control layout
  • Improved mobile UX

๐ŸŒ Massive i18n Expansion

The 1.0.x line ships with extensive localization support:

  • ๐Ÿ‡ช๐Ÿ‡ธ Spanish
  • ๐Ÿ‡ฌ๐Ÿ‡ง English
  • ๐Ÿ‡ฉ๐Ÿ‡ช German
  • ๐Ÿ‡ซ๐Ÿ‡ท French
  • ๐Ÿ‡ฎ๐Ÿ‡น Italian
  • ๐Ÿ‡ณ๐Ÿ‡ฑ Dutch
  • ๐Ÿ‡ต๐Ÿ‡น Portuguese
  • ๐Ÿ‡ท๐Ÿ‡บ Russian
  • ๐Ÿ‡ฌ๐Ÿ‡ท Greek
  • ๐Ÿ‡จ๐Ÿ‡ณ Chinese
  • ๐Ÿ‡ท๐Ÿ‡ด Romanian

Including:

  • Runtime card translations
  • Shared i18n systems
  • Visual editor localization
  • Exact override normalization
  • Cross-card translation consistency

Community translations (Crowdin): help translate or review strings in the public project Nodalia Cards on Crowdin (syncs with i18n/runtime and i18n/editor via crowdin.yml).


๐ŸŽจ Unified Visual System

The 1.0.0 milestone introduced a much stronger design system:

  • Shared visual tokens
  • Unified shadows and surfaces
  • Consistent chip styling
  • Shared hover/selected states
  • Shared animations
  • Better tinting
  • Improved gradients
  • Consistent card spacing
  • Better icon motion performance
  • Shared popup language

โšก Performance & Stability

Major internal improvements:

  • Reduced unnecessary renders
  • Better render signatures
  • Shared i18n caching
  • Safer persistence logic
  • Smarter deduplication
  • Optimized animation transforms
  • Better mobile resize handling
  • More resilient HA websocket handling
  • Reduced visual flicker
  • Improved cache-busting system

๐Ÿงฉ Included cards

  • custom:nodalia-navigation-bar
  • custom:nodalia-media-player
  • custom:nodalia-light-card
  • custom:nodalia-fan-card
  • custom:nodalia-humidifier-card
  • custom:nodalia-circular-gauge-card
  • custom:nodalia-graph-card
  • custom:nodalia-power-flow-card
  • custom:nodalia-cover-card
  • custom:nodalia-climate-card โ€” weekly setpoint schedule via webhook: docs/climate-setpoint-schedule.md
  • custom:nodalia-alarm-panel-card
  • custom:nodalia-advance-vacuum-card
  • custom:nodalia-entity-card
  • custom:nodalia-fav-card
  • custom:nodalia-insignia-card
  • custom:nodalia-person-card
  • custom:nodalia-scenes-card
  • custom:nodalia-weather-card
  • custom:nodalia-calendar-card
  • custom:nodalia-notifications-card
  • custom:nodalia-vacuum-card

๐Ÿ› ๏ธ Visual editors

All Nodalia cards include integrated visual editors designed to feel native inside Home Assistant.

Features include:

  • Native Home Assistant selectors
  • Minimal YAML generation
  • Shared editor architecture
  • Compact collapsible sections
  • Integrated color pickers
  • Entity pickers
  • Shared translations
  • Mobile-friendly editing
  • Automatic default cleanup

Generated YAML stays intentionally minimal: only values different from defaults are emitted.


๐Ÿ“‹ Example YAML

Notifications Card

type: custom:nodalia-notifications-card
calendar_entities:
  - calendar.home
weather_entities:
  - weather.home
fan_entities:
  - fan.living_room
vacuum_entities:
  - vacuum.robot

Calendar Card

type: custom:nodalia-calendar-card
calendars:
  - entity: calendar.home

Climate Card (setpoint schedule)

Weekly consignas from the dashboard โ€” copy the examples and replace the YOUR_* placeholders:

Placeholder Example
YOUR_CLIMATE_ENTITY climate.living_room
YOUR_ROOM living_room
WEBHOOK_ID nodalia_climate_setpoint_schedule
type: custom:nodalia-climate-card
entity: climate.YOUR_CLIMATE_ENTITY
show_schedule_button: true
setpoint_schedule_webhook: nodalia_climate_setpoint_schedule
setpoint_schedule_helper: input_text.nodalia_climate_schedule_YOUR_ROOM
security:
  allow_webhooks_for_non_admin: true

Setup (5 steps): docs/climate-setpoint-schedule.md โ€” helpers, webhook (once), Path B apply (per room). Examples: examples/climate-setpoint-schedule-*.yaml.


Advance Vacuum Card

type: custom:nodalia-advance-vacuum-card
entity: vacuum.roborock
map_entity: camera.xiaomi_cloud_map_extractor

๐Ÿš€ Installation

HACS (recommended)

Open your Home Assistant instance and open this repository in the Home Assistant Community Store.

Open HACS โ†’ Frontend โ†’ search for Nodalia Cards โ†’ Download.

HACS automatically adds the Lovelace resource.

The main entrypoint is:

/hacsfiles/nodalia-cards/nodalia-cards-1.2.1.1.js

HACS uses the versioned entrypoint so each update gets a fresh Lovelace resource URL. The unversioned nodalia-cards.js file remains a self-contained fallback for direct/manual use.

No manual resource setup is normally required.


Manual install

Copy:

nodalia-cards.js

into:

/config/www/

Then add a Lovelace resource:

/local/nodalia-cards.js

Type:

JavaScript module

๐ŸŒ Translations

1.1.x continues improving the multi-language runtime and visual editor support introduced in 1.0.x.

Translate on Crowdin โ†’ โ€” community workspace for runtime and visual-editor strings (see also docs/TRANSLATIONS.md and crowdin.yml).

Translate on Crowdin โ†’ โ€” community workspace for runtime and visual-editor strings (see also docs/TRANSLATIONS.md and crowdin.yml).

Supported languages:

  • Spanish
  • English
  • German
  • French
  • Italian
  • Dutch
  • Norwegian
  • Portuguese
  • Russian
  • Greek
  • Chinese
  • Romanian

Translation improvements are ongoing.

Translation PRs are welcome. See the step-by-step contributor guide in docs/TRANSLATIONS.md.


๐ŸŽจ Styling and theme

To reuse Nodaliaโ€™s look (radii, HA theme variables, chips, sliders) on other cards via card-mod or YAML, see the consolidated reference in docs/STYLING.md.


๐Ÿ›ฃ๏ธ Roadmap

Future work planned on top of 1.1.x:

  • Graph Card redesign
  • Power Flow improvements
  • More smart contextual systems
  • Better tablet layouts
  • More advanced popup systems
  • Further animation polish
  • Additional smart recommendations
  • More editor consistency
  • Long-term stability and optimization

๐Ÿค Feedback & Contributions

Feedback, ideas, bug reports and contributions are always welcome.

If you find bugs or translation issues, please open an issue using the provided templates.


๐Ÿ™Œ Community contributions

Special thanks to the community members helping improve Nodalia Cards through testing, ideas and feedback.

Special thanks to:

For contributing ideas and improvements to:

  • Person Card
  • Light Card
  • UI consistency

๐Ÿง‘โ€๐Ÿ’ป Author

Daniel Miguel Tejedor