Introducing the “Fairy Fantasy Dark” Theme for Home Assistant
Hello everyone,
I’m thrilled to share with you my very first Home Assistant theme – Fairy Fantasy Dark! This theme embraces a magical blend of blue and yellow, capturing a whimsical, fairy-tale aesthetic designed to bring a touch of enchantment to your smart home.
Theme Overview
Fairy Fantasy Dark is a custom dark theme that:
- Uses a blue and yellow color palette to evoke a sense of wonder and magic.
- Offers a sleek, modern design with subtle transparency and gradients.
- Ensures all Home Assistant elements and Material Design Components (MDC) are cohesively styled.
How It Was Created
This theme and its accompanying community post were generated entirely by AI. Here’s a brief overview of the models and process involved:
-
Prompt Refinement:
- Model Used:
gpt4o
- This model helped refine my initial prompt to ensure clarity and depth in the theme design requirements.
- Model Used:
-
Final Code Generation:
- Model Used:
gpt03-mini-high
with deep research enabled - It was responsible for generating the final YAML code for the theme, ensuring comprehensive coverage of Home Assistant elements and MDC variables.
- Model Used:
-
Community Post Creation:
- Model Used:
gpto3-mini
- This model crafted the community post you are reading right now, providing a clear, detailed, and visually appealing presentation of the theme.
- Model Used:
YAML Code
Fairy Fantasy Dark:
# Base Colors
primary-color: "#42A5F5" # Primary UI color (magical blue)
accent-color: "#FFD700" # Accent color (fairy gold)
dark-primary-color: "#1E88E5" # Darker variant of primary (blue shade)
light-primary-color: "#64B5F6" # Lighter variant of primary (blue shade)
primary-text-color: "#FFFFFF" # Main text color (white)
secondary-text-color: "#B3B3B3" # Secondary text color (gray)
disabled-text-color: "#7F7F7F" # Disabled text color (dim gray)
success-color: "#52C41A" # Success state color (green)
warning-color: "#FFC107" # Warning state color (amber)
error-color: "#FF5555" # Error state color (soft red)
# RGB values for theme (for transparency and effects)
rgb-primary-color: "66, 165, 245"
rgb-accent-color: "255, 215, 0"
rgb-primary-text-color: "255, 255, 255"
rgb-secondary-text-color: "179, 179, 179"
rgb-disabled-text-color: "127, 127, 127"
# Backgrounds
primary-background-color: "#1B1F3B" # Deep navy blue background
secondary-background-color: "#1B1F3B" # Same as primary background for consistency
lovelace-background: "radial-gradient(circle at 30% 15%, rgba(66, 165, 245, 0.15) 0%, rgba(66, 165, 245, 0) 70%), linear-gradient(135deg, #1B1F3B 0%, #10142F 100%)"
# Cards
card-background-color: "rgba(27, 31, 59, 0.8)" # Slightly transparent card background for depth
paper-card-background-color: "rgba(27, 31, 59, 0.8)"
ha-card-border-radius: "12px" # Smooth rounded corners on cards
ha-card-box-shadow: "0 0 15px 3px rgba(var(--rgb-accent-color), 0.25)" # Soft yellow glow around cards
# Dividers & Borders
divider-color: "rgba(255, 255, 255, 0.2)" # Subtle divider lines (mystical shimmer)
app-header-border-color: "rgba(255, 255, 255, 0.2)" # Subtle header bottom border (if used)
# Sidebar
sidebar-background-color: "rgba(27, 31, 59, 0.85)" # Semi-transparent sidebar background for an ethereal feel
sidebar-icon-color: var(--secondary-text-color)
sidebar-text-color: var(--secondary-text-color)
sidebar-selected-icon-color: var(--accent-color)
sidebar-selected-text-color: var(--accent-color)
sidebar-selected-background-color: "rgba(var(--rgb-accent-color), 0.1)" # Faint gold highlight on selected item
# Header (Top Bar)
app-header-background-color: "#1B1F3B" # Header bar background (matches background)
app-header-text-color: var(--accent-color) # Header text/icons (golden glow)
# Text
text-primary-color: var(--primary-text-color)
text-medium-color: var(--secondary-text-color)
text-medium-light-color: var(--disabled-text-color)
# State Icons
state-icon-color: var(--secondary-text-color) # Inactive state icons (faded)
state-icon-active-color: var(--accent-color) # Active state icons (glowing gold)
state-icon-unavailable-color: var(--disabled-text-color) # Unavailable state icons (dim)
paper-item-icon-color: var(--secondary-text-color) # Legacy icon color
paper-item-icon-active-color: var(--accent-color) # Legacy active icon color
# Labels & Badges
label-badge-background-color: "rgba(27, 31, 59, 0.5)" # Translucent badge background
label-badge-text-color: "#FFFFFF"
label-badge-blue: "#60B1EB"
label-badge-green: "#60EB67"
label-badge-yellow: "#EBC860"
label-badge-red: "#EB6065"
# Controls (Switches, Toggles, Sliders)
switch-checked-color: var(--primary-color)
switch-unchecked-color: var(--disabled-text-color)
switch-checked-button-color: var(--primary-color)
switch-unchecked-button-color: var(--disabled-text-color)
switch-checked-track-color: "rgba(var(--rgb-primary-color), 0.5)" # Glowing blue track for ON state
switch-unchecked-track-color: "rgba(var(--rgb-disabled-text-color), 0.3)"
paper-toggle-button-checked-button-color: var(--primary-color)
paper-toggle-button-checked-bar-color: "rgba(var(--rgb-primary-color), 0.5)"
paper-toggle-button-unchecked-button-color: var(--disabled-text-color)
paper-toggle-button-unchecked-bar-color: "rgba(var(--rgb-disabled-text-color), 0.3)"
slider-color: var(--primary-color)
slider-secondary-color: var(--light-primary-color)
slider-bar-color: var(--disabled-text-color)
paper-slider-knob-color: var(--slider-color)
paper-slider-knob-start-color: var(--slider-color)
paper-slider-pin-color: var(--slider-color)
paper-slider-pin-start-color: var(--slider-color)
paper-slider-active-color: var(--slider-color)
paper-slider-secondary-color: var(--slider-secondary-color)
paper-slider-container-color: var(--slider-bar-color)
# Dropdowns & List Items
paper-listbox-background-color: var(--card-background-color)
paper-listbox-color: var(--primary-text-color)
paper-item-selected-background-color: "rgba(var(--rgb-primary-color), 0.2)" # Highlight for selected list items
paper-item-selected-color: var(--primary-text-color)
# Material Design (MDC) Theme Overrides
mdc-theme-primary: var(--primary-color)
mdc-theme-secondary: var(--accent-color)
mdc-theme-surface: var(--card-background-color)
mdc-theme-background: var(--primary-background-color)
mdc-theme-on-primary: "#FFFFFF" # Text on primary-color surfaces
mdc-theme-on-secondary: "#000000" # Text on accent-color surfaces
mdc-theme-on-surface: var(--primary-text-color)
mdc-theme-error: "#FF5555"
mdc-dialog-scrim-color: "rgba(0, 0, 0, 0.6)"
mdc-dialog-surface-color: var(--card-background-color)
mdc-dialog-scroll-divider-color: var(--divider-color)
mdc-select-ink-color: var(--primary-text-color)
mdc-select-label-ink-color: var(--secondary-text-color)
mdc-select-dropdown-icon-color: var(--secondary-text-color)
mdc-select-fill-color: var(--card-background-color)
mdc-select-idle-line-color: var(--divider-color)
mdc-select-hover-line-color: var(--primary-color)
mdc-select-outlined-idle-border-color: var(--divider-color)
mdc-select-outlined-hover-border-color: var(--primary-color)
mdc-select-outlined-disabled-border-color: var(--disabled-text-color)
mdc-text-field-ink-color: var(--primary-text-color)
mdc-text-field-label-ink-color: var(--secondary-text-color)
mdc-text-field-fill-color: var(--card-background-color)
mdc-text-field-idle-line-color: var(--divider-color)
mdc-text-field-hover-line-color: var(--primary-color)
mdc-text-field-outlined-idle-border-color: var(--divider-color)
mdc-text-field-outlined-hover-border-color: var(--primary-color)
mdc-text-field-outlined-disabled-border-color: var(--disabled-text-color)
mdc-checkbox-unchecked-color: var(--disabled-text-color)
mdc-checkbox-disabled-color: var(--disabled-text-color)
mdc-radio-unchecked-color: var(--disabled-text-color)
mdc-radio-disabled-color: var(--disabled-text-color)
mdc-button-disabled-ink-color: var(--disabled-text-color)
mdc-button-outline-color: var(--primary-color)
mdc-tab-text-label-color-default: var(--secondary-text-color)
# Legacy Paper Input fields (for compatibility)
input-ink-color: var(--primary-text-color)
input-label-ink-color: var(--secondary-text-color)
input-disabled-ink-color: var(--disabled-text-color)
input-disabled-line-color: var(--disabled-text-color)
input-fill-color: var(--card-background-color)
input-dropdown-icon-color: var(--secondary-text-color)
input-outlined-idle-border-color: var(--divider-color)
input-outlined-hover-border-color: var(--primary-color)
input-outlined-disabled-border-color: var(--disabled-text-color)
# Ripple Effects (press/hover feedback)
paper-button-ink-color: var(--accent-color)
paper-toggle-button-checked-ink-color: var(--accent-color)
paper-toggle-button-unchecked-ink-color: var(--accent-color)
# Card Headers
ha-card-header-color: var(--primary-text-color)
paper-card-header-color: var(--primary-text-color)
# Tables
table-row-background-color: var(--primary-background-color)
table-row-alternative-background-color: var(--primary-background-color)
Prompts Used
Final Code Generation
Enhance this custom dark theme YAML for home assistant.
Use blue and yellow color pallet. Fairy fantasy whimsical aesthetic.
Ensure all ha elements have been considered including block and inline elements.
Ensuring all Material Design Components (MDC) variables are covered.
Fairy Fantasy Dark:
# Accent Colors
accent-color1: "#3A45E5" # Primary magical blue
accent-color2: "#FFC857" # Fairy gold
accent-color3: "#A1FFCE" # Soft mint glow
# Core Colors
primary-color: var(--accent-color1)
accent-color: var(--accent-color2)
primary-background-color: "#0B1635"
secondary-background-color: "#162447"
card-background-color: "#1D2951"
primary-text-color: "#E0E0E0"
secondary-text-color: "#B0B6E0"
disabled-text-color: "#7F849C"
divider-color: "#4A4E6A"
# Header
app-header-background-color: var(--primary-background-color)
app-header-text-color: "#FFFFFF"
# Interactive Elements
paper-slider-knob-color: var(--accent-color2)
paper-slider-knob-border-color: var(--accent-color2)
paper-slider-active-color: var(--accent-color2)
paper-slider-secondary-color: "#E8C56E"
switch-checked-color: var(--accent-color2)
switch-checked-button-color: "#FFF4D3"
switch-checked-track-color: "#E8C56E"
paper-button-ink-color: var(--accent-color2)
paper-tab-ink: var(--accent-color2)
paper-item-icon-active-color: var(--accent-color2)
paper-item-icon-color: var(--accent-color1)
state-icon-active-color: var(--accent-color2)
state-icon-unavailable-color: "#75798F"
# Additional UI Elements
paper-listbox-background-color: "#1D2951"
sidebar-background-color: "#162447"
sidebar-icon-color: var(--accent-color1)
sidebar-text-color: "#D0D4EE"
input-fill-color: "#162447"
input-border-color: var(--accent-color2)
Community Post Creation
Now, I want you to create a Home Assistant community post for this theme.
Be clear that this theme was created using AI. Be open about how everything—from the code to this post—was generated by AI, except for the images and prompt blocks.
Provide details about the models used in the process:
GPT-4o: Used to refine my prompt.
GPT-3.5-mini-high (with deep research enabled): Used for generating the final code.
GPT-3.5-mini: Used to generate the community post.
Provide placeholders for the following:
YAML code (I will add it later—do not include actual code as it won’t render properly in the response).
Prompts used (I will add them later—do not include actual prompts as they won’t render properly).
Images (I will add them later).
This is my first theme.
Ensure the post is visually appealing using Markdown.
Images
I hope you enjoy using the Fairy Fantasy Dark theme as much as I enjoyed creating it. Your feedback is welcome, and I’m excited to see how this theme enhances your Home Assistant experience!
Happy theming!