mirror of
https://github.com/esphome/esphome.git
synced 2026-09-01 18:46:02 +00:00
57c8ab861e36898cbd2ddf34da58f910166830ef
Replace 14 TemplatableValue fields with a per-field union that stores either a constant value or a callable pointer in the same 4 bytes (on 32-bit targets). A 2-bit-per-field type tag in a uint32_t tracks field state (unset/constant/stateless lambda/stateful lambda). Reduces LightControlAction from 128 to 76 bytes per instance on ESP32. For a config with 8 light actions, this saves 416 bytes of RAM and 476 bytes of flash (from eliminated TemplatableValue template instantiations).
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
585 MiB
Languages
C++
56.1%
Python
43.3%
C
0.3%
JavaScript
0.2%
