mirror of
https://github.com/esphome/esphome.git
synced 2026-02-26 05:53:12 -07:00
b0cf94c40944d86220ec493e0d21783f8036a9ab
Move FlashStringLiteral wrapping from per-component manual code into cg.templatable() itself. When output_type is std::string and the value is a static string (not a lambda), it is automatically wrapped in ESPHOME_F() for PROGMEM storage on ESP8266. On other platforms ESPHOME_F() is a no-op returning const char*. This makes all ~50 existing cg.templatable(..., cg.std_string) call sites across every component benefit automatically, with no per-component changes needed. Simplify api/__init__.py by switching from output_type=None to cg.std_string and removing the manual isinstance/FlashStringLiteral checks that are now redundant.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
495 MiB
Languages
C++
64.1%
Python
35.6%
C
0.2%
