mirror of
https://github.com/esphome/esphome.git
synced 2026-09-01 10:36:01 +00:00
04c6e7e7707138084fd2abbec337a247b1d3ac33
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
587 MiB
Languages
C++
56.1%
Python
43.3%
C
0.3%
JavaScript
0.2%
