Chameleon - Extract colours from images and apply them to your RGB lights

I’ve built a custom integration that automatically extracts colour palettes from images and applies them to your RGB lights. Drop images into a folder, and they become selectable scenes.

What it does

  • Image-based scenes: Add images to /config/www/chameleon/ and they’re auto-discovered as scenes
  • Multi-light support: Distributes extracted colours across multiple lights (each light gets a different colour from the palette)
  • Animation mode: Cycle through colours from an image
  • Native HA integration: Creates select, number, and switch entities that work with automations, scripts, and voice assistants

Use cases

  • Ambient lighting that matches a image you select
  • Room themes based on photos (sunset, ocean, forest)
  • Dynamic lighting for media rooms (coming soon)
  • Seasonal colour schemes (coming soon)

Installation

I’ll make this available via HACS as a custom repository soon, but meanwhile you can try a manual installation.

Example

Drop sunset_vibes.jpg into the chameleon folder → select “Sunset Vibes” from the entity → your lights adopt the warm oranges, pinks, and golds from the image.

Links

Roadmap

  • Album art extraction from media players (auto-update lights when track changes)
  • Custom Lovelace card with image previews
  • Animation patterns (fade, pulse, wave)
  • Region-based colour sampling

Feedback and contributions welcome! Also looking for frontend developers interested in building a dedicated Lovelace card.

3 Likes