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
- GitHub: GitHub - MKSG-MugunthKumar/ha-chameleon
- Documentation: Full setup guide and Lovelace card examples in the README
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.