Commit Graph
26571 Commits
Author SHA1 Message Date
J. Nick Koston fb4d488864 Merge remote-tracking branch 'upstream/dev' into integration 2026-04-03 21:09:25 -10:00
Clyde Stubbs 89de00e7ce [online_image] Clear LVGL dsc when image size changes. (#15360) 2026-04-04 17:04:01 +11:00
alorenteandclydebarrow 53b6528cc5 [epaper_spi] Allow runtime rotation change (#15419)
Co-authored-by: clydebarrow <2366188+clydebarrow@users.noreply.github.com>
2026-04-04 16:02:15 +10:00
Boris Krivonog 16ae753317 [mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 2) (#15358) 2026-04-03 19:44:04 -10:00
J. Nick Koston f425d8509e Merge remote-tracking branch 'upstream/total-daily-energy-no-loop' into integration 2026-04-03 18:49:02 -10:00
J. Nick Koston 8fc753ce7e Merge branch 'integration' of https://github.com/esphome/esphome into integration 2026-04-03 18:48:46 -10:00
J. Nick Koston e166ee6f60 Merge remote-tracking branch 'upstream/cron-star-slash' into integration 2026-04-03 18:48:32 -10:00
J. Nick Koston 102a3e12fe Merge branch 'integration' of https://github.com/esphome/esphome into integration 2026-04-03 18:22:32 -10:00
J. Nick Koston 06966f5641 Merge branch 'cron-star-slash' into integration 2026-04-03 18:22:20 -10:00
J. Nick Koston c0cac732c7 Merge branch 'cron-trigger-interval' into integration 2026-04-03 18:22:14 -10:00
J. Nick Koston 90df902d09 [time] Support */N syntax in cron expressions 2026-04-03 18:20:53 -10:00
J. Nick Koston c3b8949696 Merge branch 'cron-trigger-interval' of https://github.com/esphome/esphome into cron-trigger-interval 2026-04-03 18:13:39 -10:00
J. Nick Koston f6f07ef147 [time] Use set_interval for CronTrigger instead of loop() 2026-04-03 18:11:45 -10:00
J. Nick Koston 89ff3491b6 [time] Use set_interval for CronTrigger instead of loop() 2026-04-03 18:10:17 -10:00
J. Nick Koston 3921e01cac [total_daily_energy] Replace loop() with timeout-based midnight reset 2026-04-03 18:01:48 -10:00
J. Nick Koston 2447ccb315 Merge remote-tracking branch 'origin/total-daily-energy-no-loop' into integration 2026-04-03 17:57:18 -10:00
J. Nick Koston 5658a2054c [total_daily_energy] Replace loop() with timeout-based midnight reset 2026-04-03 17:51:51 -10:00
J. Nick Koston eb7ef2410b Merge remote-tracking branch 'upstream/hlw8012-logv-fix' into integration 2026-04-03 17:45:03 -10:00
J. Nick Koston 1f098313ae Merge remote-tracking branch 'upstream/total-daily-energy-no-loop' into integration 2026-04-03 17:44:58 -10:00
J. Nick Koston 089b38f77a [total_daily_energy] Replace loop() with timeout-based midnight reset 2026-04-03 17:30:12 -10:00
J. Nick Koston 5cec03b004 [hlw8012] Change periodic sensor reading logs to LOGV 2026-04-03 17:03:03 -10:00
J. Nick Koston 1dc0b4d03d Merge remote-tracking branch 'upstream/dev' into integration 2026-04-03 16:58:26 -10:00
J. Nick Koston 2337767c38 [modbus_controller] Fix format specifier warnings (#15429) 2026-04-03 16:37:31 -10:00
J. Nick Koston 4f2290d548 [web_server] Disable loop when no SSE clients are connected (#15428) 2026-04-03 16:37:20 -10:00
Clyde Stubbs 7ab26a4fe0 [ili9xxx][st7735] Add deprecation warnings (#15416) 2026-04-04 13:21:58 +11:00
J. Nick Koston 0c00af88e2 Merge remote-tracking branch 'upstream/web_server_disable_loop' into integration 2026-04-03 14:49:29 -10:00
J. Nick Koston fec8fe932f [web_server] Skip ping interval when no SSE clients are connected 2026-04-03 14:49:02 -10:00
J. Nick Koston 84787e05b1 Merge remote-tracking branch 'upstream/web_server_disable_loop' into integration 2026-04-03 14:33:32 -10:00
J. Nick Koston 945a6b1063 Merge remote-tracking branch 'upstream/dev' into integration 2026-04-03 14:33:20 -10:00
J. Nick Koston 308877cf6e [web_server] Disable loop when no SSE clients are connected 2026-04-03 14:32:42 -10:00
J. Nick Koston ef41caa347 Merge branch 'api-proto-max-length' into integration 2026-04-03 14:16:20 -10:00
J. Nick Koston 80502e8c39 [api] Rename encode_short_string to write_short_string 2026-04-03 14:15:19 -10:00
J. Nick Koston dd08d7631e [core] Add test for register_unit_of_measurement max length 2026-04-03 14:13:03 -10:00
J. Nick Koston 5740d74d97 [core] Enforce UNIT_OF_MEASUREMENT_MAX_LENGTH in register_unit_of_measurement 2026-04-03 14:11:51 -10:00
J. Nick Koston f0622b7624 [api] Add max_data_length = 63 for unit_of_measurement fields
Add UNIT_OF_MEASUREMENT_MAX_LENGTH = 63 constant in core/config.py
and enforce it in sensor and number component validators.

Annotate unit_of_measurement proto fields with (max_data_length) = 63
so the codegen emits constant-size length varint calculations.
2026-04-03 14:10:25 -10:00
J. Nick Koston 4ce24389b7 [api] Add max_data_length = 47 for device_class fields 2026-04-03 14:06:00 -10:00
J. Nick Koston fd68e9a827 [api] Rename encode_raw_short_string to encode_short_string 2026-04-03 14:01:14 -10:00
J. Nick Koston 2d13def0ee [api] Add encode_raw_short_string for forced string fields with max_data_length
Replace 3-call sequence (write_raw_byte + write_raw_byte + encode_raw)
with single inlined encode_raw_short_string call for forced string
fields with max_data_length < 128. The compiler can hoist the pos
pointer across all three writes in one function boundary.
2026-04-03 14:00:01 -10:00
J. Nick Koston 675400cc31 [api] Use .empty() for string zero check in single-byte varint size 2026-04-03 13:51:25 -10:00
J. Nick Koston 0124087e73 [api] Add max_data_length = 63 for icon fields 2026-04-03 13:40:27 -10:00
J. Nick Koston 5dbe2a7741 [api] Add comment tying max_data_length = 120 to NAME_MAX_LENGTH 2026-04-03 13:36:32 -10:00
J. Nick Koston e174e579ed [api] Add max_data_length proto option and optimize entity name/object_id
Add max_data_length field option for string/bytes fields. When
max_data_length < 128, the codegen emits constant-size length varint
calculations and direct byte writes.

Annotate all entity name and object_id fields with
(max_data_length) = 120 and (force) = true across all 25
ListEntities*Response messages (50 fields).

Generated code changes:
- calculate_size: `calc_length(1, size)` -> `2 + size` (constant)
- encode: `encode_string(N, ref)` -> `write_raw_byte(tag) + write_raw_byte(len) + encode_raw(data, len)`

Eliminates 2 function calls per field per entity list response,
removes zero-check branches, and removes varint size computation.
2026-04-03 13:33:51 -10:00
dependabot[bot] 533eeabf1d Bump aioesphomeapi from 44.8.1 to 44.9.0 (#15425)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-03 23:17:49 +00:00
J. Nick Koston 85d9f36028 Merge remote-tracking branch 'upstream/api-proto-max-value-codegen' into integration 2026-04-03 12:48:23 -10:00
J. Nick Koston 9ece286a26 [api] Simplify _get_single_byte_varint_size 2026-04-03 12:32:32 -10:00
J. Nick Koston fa80caf0ff [api] Fall back to RAW_ENCODE_MAP when SMALL_MAP has no entry 2026-04-03 12:31:44 -10:00
J. Nick Koston f3238a857e [api] Select encode map before lookup 2026-04-03 12:31:01 -10:00
J. Nick Koston 02b424388e [api] Use RAW_ENCODE_SMALL_MAP for max_value encode optimization
Replace inline encode_func check with a lookup table, matching the
existing RAW_ENCODE_MAP pattern.
2026-04-03 12:28:51 -10:00
J. Nick Koston 363d811cc1 [api] Use _get_simple_size_calculation for FixedArrayBytesType fallback
Replace inline calc_length/calc_length_force formatting with the
existing helper method.
2026-04-03 12:27:55 -10:00
J. Nick Koston 1e68a90ac9 [api] Extract _get_single_byte_varint_size helper in codegen
Refactor the constant-size varint pattern into a reusable helper
method on the TypeInfo base class, used by both UInt32Type (max_value)
and FixedArrayBytesType (fixed_array_size < 128).
2026-04-03 12:26:51 -10:00