46 root[ESPHOME_F(
"schema")] = ESPHOME_F(
"json");
49 root[MQTT_COLOR_MODE] =
true;
51 JsonArray color_modes = root[ESPHOME_F(
"supported_color_modes")].to<JsonArray>();
52 if (traits.supports_color_mode(ColorMode::ON_OFF))
53 color_modes.add(ESPHOME_F(
"onoff"));
54 if (traits.supports_color_mode(ColorMode::BRIGHTNESS))
55 color_modes.add(ESPHOME_F(
"brightness"));
56 if (traits.supports_color_mode(ColorMode::WHITE))
57 color_modes.add(ESPHOME_F(
"white"));
58 if (traits.supports_color_mode(ColorMode::COLOR_TEMPERATURE) ||
59 traits.supports_color_mode(ColorMode::COLD_WARM_WHITE))
60 color_modes.add(ESPHOME_F(
"color_temp"));
61 if (traits.supports_color_mode(ColorMode::RGB))
62 color_modes.add(ESPHOME_F(
"rgb"));
63 if (traits.supports_color_mode(ColorMode::RGB_WHITE) ||
65 traits.supports_color_mode(ColorMode::RGB_COLOR_TEMPERATURE))
66 color_modes.add(ESPHOME_F(
"rgbw"));
67 if (traits.supports_color_mode(ColorMode::RGB_COLD_WARM_WHITE))
68 color_modes.add(ESPHOME_F(
"rgbww"));
71 if (traits.supports_color_capability(ColorCapability::BRIGHTNESS))
72 root[ESPHOME_F(
"brightness")] =
true;
74 if (traits.supports_color_mode(ColorMode::COLOR_TEMPERATURE) ||
75 traits.supports_color_mode(ColorMode::COLD_WARM_WHITE)) {
76 root[MQTT_MIN_MIREDS] = traits.get_min_mireds();
77 root[MQTT_MAX_MIREDS] = traits.get_max_mireds();
81 root[ESPHOME_F(
"effect")] =
true;
82 JsonArray effect_list = root[MQTT_EFFECT_LIST].to<JsonArray>();
85 effect_list.add(effect->get_name().c_str());
87 effect_list.add(ESPHOME_F(
"None"));
ESPDEPRECATED("Use const char* overload instead. Removed in 2026.7.0", "2026.1.0") void defer(const std voi defer)(const char *name, std::function< void()> &&f)
Defer a callback to the next loop() call.