J. Nick Koston
abb88f6b0f
Merge remote-tracking branch 'origin/api-flash-string-progmem' into integration
2026-02-09 11:16:41 -06:00
J. Nick Koston
5d5344cf91
Add tests for cg.templatable() auto FlashStringLiteral wrapping
...
Cover the new automatic ESPHOME_F() wrapping behavior: static strings
with std::string output_type, non-string values, None output_type,
to_exp callable/dict, and lambda passthrough.
2026-02-09 10:56:56 -06:00
J. Nick Koston
b0cf94c409
Auto-wrap static strings in ESPHOME_F() via templatable()
...
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.
2026-02-09 10:38:41 -06:00
J. Nick Koston
9202d11af0
Merge branch 'dlms_meter_batch_read' into integration
2026-02-09 09:45:54 -06:00
J. Nick Koston
0ed3e033de
Merge branch 'pylontech_batch_read' into integration
2026-02-09 09:45:54 -06:00
J. Nick Koston
0948f306ec
Merge branch 'tuya_batch_read' into integration
2026-02-09 09:45:53 -06:00
J. Nick Koston
51679d9b6c
Merge branch 'modbus_batch_read' into integration
2026-02-09 09:45:53 -06:00
J. Nick Koston
6dd9311f08
Merge branch 'seeed_mr_batch_read' into integration
2026-02-09 09:45:53 -06:00
J. Nick Koston
e2b870bd5c
Merge branch 'dfplayer_batch_read' into integration
2026-02-09 09:45:52 -06:00
J. Nick Koston
a2ea81df0e
Merge branch 'rd03d_batch_read' into integration
2026-02-09 09:45:52 -06:00
J. Nick Koston
84062c46b0
Merge branch 'nextion_batch_read' into integration
2026-02-09 09:45:52 -06:00
J. Nick Koston
24ab0d9474
Merge branch 'ld2420_batch_read' into integration
2026-02-09 09:45:52 -06:00
J. Nick Koston
30649c280e
Merge branch 'ld2410_batch_read' into integration
2026-02-09 09:45:51 -06:00
J. Nick Koston
bb13405775
Merge branch 'ld2412_batch_read' into integration
2026-02-09 09:45:51 -06:00
J. Nick Koston
bfde168035
Merge branch 'ld2450_batch_read' into integration
2026-02-09 09:45:51 -06:00
J. Nick Koston
d842b5411b
Merge branch 'cse7766_batch_read' into integration
2026-02-09 09:45:50 -06:00
J. Nick Koston
ca8617cf10
Fix early guard comment
2026-02-09 09:41:45 -06:00
J. Nick Koston
a0bc6a9922
Remove incorrect early guard comment
2026-02-09 09:41:25 -06:00
J. Nick Koston
d5295a894b
Remove unnecessary early guard
2026-02-09 09:41:03 -06:00
J. Nick Koston
fb6b96ff58
Remove incorrect early guard comment
2026-02-09 09:40:44 -06:00
J. Nick Koston
e07144ef74
Remove unnecessary early guard
2026-02-09 09:40:26 -06:00
J. Nick Koston
1c4cf1a3e8
Remove unnecessary early guard
2026-02-09 09:40:05 -06:00
J. Nick Koston
a198df34ee
Remove unnecessary early guard
2026-02-09 09:39:49 -06:00
J. Nick Koston
15904ab583
Remove unnecessary early guard
2026-02-09 09:39:30 -06:00
J. Nick Koston
9c9e8ac388
Remove unnecessary early guard
2026-02-09 09:39:04 -06:00
J. Nick Koston
04f4636d36
Remove unnecessary early guard
2026-02-09 09:38:47 -06:00
J. Nick Koston
3cbadfe42a
Remove unnecessary early guard
2026-02-09 09:38:30 -06:00
J. Nick Koston
277a11f0ea
Remove unnecessary early guard
2026-02-09 09:38:12 -06:00
J. Nick Koston
08cca414e7
Remove unnecessary early guard
2026-02-09 09:37:53 -06:00
J. Nick Koston
4db5835b6f
Update comment explaining early guard
2026-02-09 09:32:08 -06:00
J. Nick Koston
527003e16b
Add comment explaining early guard
2026-02-09 09:31:34 -06:00
J. Nick Koston
e9a0d06880
Add comment explaining early guard
2026-02-09 09:31:19 -06:00
J. Nick Koston
b2879f7f99
Add comment explaining early guard
2026-02-09 09:31:02 -06:00
J. Nick Koston
44e9346e9c
Add comment explaining early guard
2026-02-09 09:30:43 -06:00
J. Nick Koston
6670c2b6c4
Add comment explaining early guard
2026-02-09 09:30:24 -06:00
J. Nick Koston
6013b473ca
Add comment explaining early guard
2026-02-09 09:30:08 -06:00
J. Nick Koston
cc1f83ac35
Add comment explaining early guard
2026-02-09 09:29:42 -06:00
J. Nick Koston
1f1405364d
Add comment explaining early guard
2026-02-09 09:29:25 -06:00
J. Nick Koston
5d3ae8cbec
Add comment explaining early guard
2026-02-09 09:29:07 -06:00
J. Nick Koston
59a2f6f538
Add comment explaining early guard
2026-02-09 09:28:51 -06:00
J. Nick Koston
a9c37cae26
Add comment explaining early guard
2026-02-09 09:28:32 -06:00
J. Nick Koston
c8a93f31e9
Add comment explaining early guard
2026-02-09 09:28:15 -06:00
J. Nick Koston
f79448a09a
Remove verbose available() comment
2026-02-09 09:27:57 -06:00
J. Nick Koston
5e096826c3
Remove verbose available() comment
2026-02-09 09:27:42 -06:00
J. Nick Koston
457d68256d
Keep early guard to avoid stack buffer allocation
2026-02-09 09:27:20 -06:00
J. Nick Koston
a9029fb67a
Keep early guard to avoid stack buffer allocation
2026-02-09 09:27:05 -06:00
J. Nick Koston
cd891d4b16
Keep early guard to avoid stack buffer allocation
2026-02-09 09:26:50 -06:00
J. Nick Koston
2784059a64
Keep early guard to avoid stack buffer allocation
2026-02-09 09:26:29 -06:00
J. Nick Koston
4827f53156
Keep early guard to avoid stack buffer allocation
2026-02-09 09:26:13 -06:00
J. Nick Koston
8dff0ee449
Remove redundant early guard
2026-02-09 09:25:23 -06:00