Give a lamp's modes a page: the effects, palettes, presets, speed and intensity of a WLED behind its colour card, with a drum picker and the effect's name on the tile (0.2.83)
A light that offers effects gets a sparkles key at the top right of its colour card. It opens a page with a row per thing the lamp offers, all from Home Assistant: the light's effect and the select entities of its device (a WLED's colour palette, preset and playlist) with what they are set to, and a slider per number entity of the device (speed, intensity). Names are Home Assistant's own English entity translations, icons its frontend's; nothing about a brand is hardcoded beyond a preferred order of translation keys. A row opens LVGL's roller with every name Home Assistant lists at that moment, asked for when the picker opens (esphome.screen_options, answered with op: options, one page of names per message), the effects alphabetically with Solid on top. The check key at the top right sends the choice as one action; the back key sends nothing. A slider sends number.set_value when let go. While an effect runs, the tile names it instead of the brightness. Firmware 0.2.70: effects_page.h (built when it opens, gone when it closes), Extra.effect/option_rows/number_rows, options_request, a hidden roller widget so ESPHome compiles LVGL's roller, five firmware-only glyphs. App 0.2.83: light_effects.py, the effect attribute, the device rows in the state message, card_options_loop. Checked on the host with a virtual finger (35/35 on both boards) and compiled for both ESP32 boards; CYD 1,675,424 B (91.3 %). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -294,6 +294,11 @@ inline constexpr Named NAMES[] = {
|
||||
{"speaker-pause", 0xF1B73},
|
||||
{"speaker-play", 0xF1B72},
|
||||
{"speedometer", 0xF04C5},
|
||||
{"creation", 0xF0674},
|
||||
{"palette-outline", 0xF0E0C},
|
||||
{"playlist-play", 0xF0411},
|
||||
{"play-speed", 0xF08FF},
|
||||
{"brightness-6", 0xF00DF},
|
||||
{"spoon-sugar", 0xF1429},
|
||||
{"sprout-outline", 0xF0E67},
|
||||
{"square", 0xF0764},
|
||||
|
||||
Reference in New Issue
Block a user