Конфигурация цветов в ESPHome
Цветовая схема — основа визуального дизайна интерфейса. В ESPHome цвета определяются централизованно для единообразия и удобства изменения темы оформления.
В этом проекте используется отдельный файл colors.yaml
, который подключается в main.yaml
Структура конфигурации цвета
Базовый формат
yaml
- id: color_sky_blue
hex: 3FA7F3
Параметры
id
Назначение: Уникальный идентификатор цвета
- Используется для ссылки в LVGL виджетах
- Рекомендуется описательное имя
- Формат:
color_название_цвета
hex
Назначение: Шестнадцатеричный код цвета
- Формат:
RRGGBB
(без символа #) - Диапазон:
000000
(черный) доFFFFFF
(белый) - Пример:
3FA7F3
= RGB(63, 167, 243)
Практическое использование
В LVGL виджетах
yaml
# Кнопка
- button:
bg_color: color_sky_blue
border_color: color_blue
shadow_color: color_black
# Текст
- label:
text_color: color_white
# Дуга
- arc:
arc_color: color_dark_gray
Адаптивные цвета
yaml
# Цвет в зависимости от состояния
switch:
- platform: template
turn_on_action:
- lvgl.label.update:
id: my_status
text_color: color_green
turn_off_action:
- lvgl.label.update:
id: my_status
text_color: color_steel_blue
Оптимизация для дисплея
16-битная глубина цвета
При color_depth: 16
цвета автоматически конвертируются в RGB565:
- Красный: 5 бит (32 оттенка)
- Зеленый: 6 бит (64 оттенка)
- Синий: 5 бит (32 оттенка)
Рекомендации
- Избегайте слишком тонких градаций
- Тестируйте цвета на реальном дисплее
- Учитывайте особенности LCD панели
Заключение
Продуманная цветовая схема обеспечивает:
- Читаемость — достаточный контраст для всех элементов
- Интуитивность — семантически правильные цвета
- Единообразие — централизованное управление палитрой
- Эстетику — гармоничное сочетание оттенков
Используйте предложенную палитру как основу и адаптируйте под свои потребности, сохраняя принципы контрастности и семантической корректности.