Direct controls on wide cards, weather/climate cards, spinner busy state (0.2.23)
App 0.2.23 / firmware 0.2.19. - Wide cards of climate, switch, light, fan, vacuum, cover, media_player, number, select, timer, scene, script and button show Home Assistant style controls on the right (keys, -/+ pill with debounced send, slider with handle, toggle, run key); per-tile choice `options.controls` in the editor with mockup preview; the add-on sends only the set a card really shows. - Weather card: now + next hours and coming days with rain, from daily and hourly forecasts; scenes/scripts/buttons show when they last ran. - Climate card: power key, tap-to-toggle option, fan and swing rows in a redesigned mode picker (grey backdrop, white chips, accent selection). - Busy state as a spinner on a translucent sheet; render guards so only changed styles reach LVGL; dark theme removed from the runtime code. - supported_features above 1e6 reaches the screen; middle dot in text fonts; 18 control glyphs in the icon fonts; diagnostics services preview_climate_picker and preview_busy; demo layout --controls. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,12 @@
|
||||
#include <limits>
|
||||
int main() {
|
||||
using cyd::quantize_temperature;
|
||||
// Fan and swing mode chips read the n-th name of a JSON list attribute.
|
||||
assert(cyd::list_item("[\"auto\",\"low\",\"high\"]", 0) == "auto");
|
||||
assert(cyd::list_item("[\"auto\",\"low\",\"high\"]", 2) == "high");
|
||||
assert(cyd::list_item("[\"auto\",\"low\",\"high\"]", 3).empty());
|
||||
assert(cyd::list_item("", 0).empty());
|
||||
assert(cyd::list_item("[\"broken", 0).empty());
|
||||
assert(quantize_temperature(223, 160, 300, 5) == 225);
|
||||
assert(quantize_temperature(221, 160, 300, 5) == 220);
|
||||
assert(quantize_temperature(-1, 160, 300, 5) == 160);
|
||||
|
||||
Reference in New Issue
Block a user