J. Nick Koston and Copilot
8a915dcbbe
[core] Move device class strings to PROGMEM on ESP8266 ( #14443 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-06 08:34:27 -10:00
J. Nick Koston and Copilot
74e4b69654
[core] Replace Application name/friendly_name std::string with StringRef ( #14532 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2026-03-06 06:58:13 -10:00
J. Nick Koston
07e51886f3
[core] Move entity icon strings to PROGMEM on ESP8266 ( #14437 )
2026-03-06 06:57:52 -10:00
J. Nick Koston
52af4bced0
[component] Devirtualize call_dump_config ( #14355 )
2026-02-27 10:01:23 -10:00
J. Nick Koston
c3c0c40524
[mqtt] Return friendly_name_() by const reference to avoid string copies ( #13810 )
2026-02-09 03:26:29 -06:00
J. Nick Koston
46f8302d8f
[mqtt] Use stack buffer for discovery topic to avoid heap allocation ( #13812 )
2026-02-09 03:26:15 -06:00
86f91eed2f
[mqtt] Move switch string tables to PROGMEM_STRING_TABLE ( #13802 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-02-06 19:30:05 +01:00
5d4bde98dc
[mqtt] Refactor state publishing with dedicated enum-to-string helpers ( #13544 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-02-04 04:56:48 +13:00
bf92d94863
[mqtt] Use stack buffers for publish_state() topic building ( #13434 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-01-26 17:25:02 -10:00
99aa83564e
[mqtt] Reduce heap allocations in hot paths ( #13362 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-01-21 18:35:59 -10:00
aa5092bdc2
[mqtt] Use stack buffers for discovery message formatting ( #13216 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-01-21 18:35:43 -10:00
J. Nick Koston
6cf320fd60
[mqtt] Eliminate per-entity loop overhead and heap churn ( #13356 )
2026-01-19 17:41:55 -10:00
J. Nick Koston
ea0fac96cb
[core][mqtt] Add str_sanitize_to(), soft-deprecate str_sanitize() ( #13233 )
2026-01-18 18:42:04 -10:00
J. Nick Koston
916b028fb2
[mqtt] Replace sprintf with snprintf for friendly name hash ( #13262 )
2026-01-16 08:30:22 -10:00
J. Nick Koston
3d40979c96
[mqtt] Avoid intermediate string allocations in publish calls ( #13174 )
2026-01-13 08:05:04 -10:00
e9469cbe48
[mqtt] templatable state and command topics ( #12441 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-01-12 17:40:27 -10:00
J. Nick Koston
81e639a6ba
[core] Migrate callers and soft deprecate get_mac_address()/get_mac_address_pretty() ( #13157 )
2026-01-12 19:35:49 +00:00
J. Nick Koston
40f108116b
[mqtt] Reduce heap allocations in topic string building ( #13072 )
2026-01-08 11:42:18 -10:00
J. Nick Koston
e0981323bd
[mqtt] Move Home Assistant discovery keys to PROGMEM on ESP8266 ( #13011 )
2026-01-06 07:33:56 -10:00
9de7df7b5b
Add build info to image ( #12425 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-18 00:06:52 +00:00
J. Nick Koston and Copilot
d635892ecf
[core] Use StringRef for get_comment and get_compilation_time to avoid allocations ( #12219 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-08 10:36:13 -05:00
J. Nick Koston
b08419fa47
[mqtt] Use StringRef to avoid string copies in discovery ( #11731 )
2025-11-06 07:30:45 +13:00
J. Nick Koston
25f3b6a959
[mqtt] Reduce flash usage by optimizing ArduinoJson assignments ( #11340 )
2025-10-19 19:17:33 +00:00
J. Nick Koston and Jesse Hills
f3c0c0c00c
Remove legacy unique_id field from entities ( #9022 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-07-16 04:56:49 +00:00
9ae45ba8aa
[json] Bump ArduinoJson library to 7.4.2 ( #8857 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-07-15 14:11:10 +12:00
J. Nick Koston
78e3c6333f
Optimize Application area_ from std::string to const char* ( #9085 )
2025-06-14 22:46:40 -05:00
Keith Burzinski
518bce50a5
[mqtt] Remove redundant "mqtt" from log messages ( #8968 )
2025-06-03 21:54:58 +01:00
Rodrigo Martín
a932ca2f64
feat(MQTT): Add subscribe QoS to discovery ( #7648 )
2024-10-22 16:38:25 +13:00
dentra and Jesse Hills
3f1d2c0caf
[mqtt] Add extended device info ( #7194 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2024-08-08 16:49:37 +12:00
Rodrigo Martín
6a8a2aaefb
feat(MQTT): Add QoS option for each MQTT component ( #6279 )
2024-03-11 13:12:52 +13:00
kahrendt
74281b93c4
Reduce memory usage with StringRef in MQTT Components ( #5719 )
2023-12-21 16:19:15 +09:00
mtl010957 and Jesse Hills
51428dcbc2
Handle case where using enetity level name: None with MQTT ( #5897 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-12-07 09:31:27 +09:00
kahrendt
ff8b904097
Null topic_prefix disables MQTT publishing/subscription unless topic is explicitly configured ( #5644 )
2023-11-06 14:19:03 +13:00
Cossid and Jesse Hills
bcfbcd9578
Add area (zone) to esphome core config to be suggested through API and MQTT. ( #5602 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-10-27 11:38:52 +13:00
Jesse Hills
8b9a7608f0
Correctly allow mqtt topics to be none so ESPHome does not sub/pub to them ( #5213 )
2023-10-26 13:37:50 +13:00
Paweł Kozubal
3a07121784
Change device name in MQTT discovery messages to friendly names ( #5205 )
2023-08-07 13:46:31 +12:00
Stijn Tintel and Jesse Hills
cb5a01da29
mqtt: add ESP-IDF >= 5.0 support ( #4854 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-06-20 23:53:32 +00:00
Andrej Komelj
9826726a72
Implement MQTT discovery object_id generator ( #3114 )
2022-02-08 22:58:38 +13:00
VitaliyKurokhtin
8187a4bce9
Command retain option for MQTT component ( #3078 )
2022-01-23 21:05:37 +13:00
Oxan van Leeuwen
7854522792
Enable readability-const-return-type check ( #3099 )
2022-01-23 20:28:00 +13:00
Jesse Hills
33f17f75a0
Upgrade ArduinoJson to 6.18.5 and migrate code ( #2844 )
2022-01-01 22:31:43 +13:00
515519bc87
Provide an option to select MQTT unique_id generator ( #2701 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl >
2021-11-15 15:49:18 +01:00
Oxan van Leeuwen
4d43396835
Clean-up string sanitation helpers ( #2660 )
2021-11-10 19:42:41 +01:00
Paul Monigatti
a17a6d5346
Add HA Entity Category support to MQTT ( #2678 )
2021-11-08 10:03:30 +01:00
Paul Monigatti
331a3ac387
Add option to use MQTT abbreviations ( #2641 )
2021-10-31 15:34:08 +13:00
Paul Monigatti and Oxan van Leeuwen
471b82f727
EntityBase Refactor ( #2418 )
...
* Renamed Nameable to EntityBase (cpp)
* Renamed NAMEABLE_SCHEMA to ENTITY_BASE_SCHEMA (Python)
* Renamed cg.Nameable to cg.EntityBase (Python)
* Remove redundant use of CONF_NAME from esp32_touch
* Remove redundant use of CONF_NAME from mcp3008
* Updated test
* Moved EntityBase from Component.h and Component.cpp
* Added icon property to EntityBase
* Added CONF_ICON to ENTITY_BASE_SCHEMA and added setup_entity function to cpp_helpers
* Added MQTT component getters for icon and disabled_by_default
* Lint
* Removed icon field from MQTT components
* Code generation now uses setup_entity to setENTITY_BASE_SCHEMA fields
* Removed unused import
* Added cstdint include
* Optimisation: don't set icon if it is empty
* Remove icon from NumberTraits and SelectTraits
* Removed unused import
* Integration and Total Daily Energy sensors now inherit icons from their parents during code generation
* Minor comment correction
* Removed redundant icon-handling code from sensor, switch, and text_sensor
* Update esphome/components/tsl2591/tsl2591.h
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl >
* Added icon property to binary sensor, climate, cover, and fan component tests
* Added icons for Binary Sensor, Climate, Cover, Fan, and Light to API
* Consolidated EntityBase fields in MQTT components
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl >
2021-10-10 10:37:05 +02:00
Otto Winter and Jesse Hills
ac0d921413
ESP-IDF support and generic target platforms ( #2303 )
...
* Socket refactor and SSL
* esp-idf temp
* Fixes
* Echo component and noise
* Add noise API transport support
* Updates
* ESP-IDF
* Complete
* Fixes
* Fixes
* Versions update
* New i2c APIs
* Complete i2c refactor
* SPI migration
* Revert ESP Preferences migration, too complex for now
* OTA support
* Remove echo again
* Remove ssl again
* GPIOFlags updates
* Rename esphal and ICACHE_RAM_ATTR
* Make ESP32 arduino compilable again
* Fix GPIO flags
* Complete pin registry refactor and fixes
* Fixes to make test1 compile
* Remove sdkconfig file
* Ignore sdkconfig file
* Fixes in reviewing
* Make test2 compile
* Make test4 compile
* Make test5 compile
* Run clang-format
* Fix lint errors
* Use esp-idf APIs instead of btStart
* Another round of fixes
* Start implementing ESP8266
* Make test3 compile
* Guard esp8266 code
* Lint
* Reformat
* Fixes
* Fixes v2
* more fixes
* ESP-IDF tidy target
* Convert ARDUINO_ARCH_ESPxx
* Update WiFiSignalSensor
* Update time ifdefs
* OTA needs millis from hal
* RestartSwitch needs delay from hal
* ESP-IDF Uart
* Fix OTA blank password
* Allow setting sdkconfig
* Fix idf partitions and allow setting sdkconfig from yaml
* Re-add read/write compat APIs and fix esp8266 uart
* Fix esp8266 store log strings in flash
* Fix ESP32 arduino preferences not initialized
* Update ifdefs
* Change how sdkconfig change is detected
* Add checks to ci-custom and fix them
* Run clang-format
* Add esp-idf clang-tidy target and fix errors
* Fixes from clang-tidy idf round 2
* Fixes from compiling tests with esp-idf
* Run clang-format
* Switch test5.yaml to esp-idf
* Implement ESP8266 Preferences
* Lint
* Re-do PIO package version selection a bit
* Fix arduinoespressif32 package version
* Fix unit tests
* Lint
* Lint fixes
* Fix readv/writev not defined
* Fix graphing component
* Re-add all old options from core/config.py
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-09-20 11:47:51 +02:00
Oxan van Leeuwen
1e8e471dec
Introduce call_dump_config() indirection ( #2325 )
2021-09-20 11:16:31 +02:00
Otto Winter and Jesse Hills
a4867a00ea
Activate owning-memory clang-tidy check ( #1891 )
...
* Activate owning-memory clang-tidy check
* Lint
* Lint
* Fix issue with new NfcTag constructor
* Update pointers for number and select
* Add back the NOLINT to display buffer
* Fix merge
* DSMR fixes
* Nextion fixes
* Fix pipsolar
* Fix lwip socket
* Format
* Change socket fix
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-09-13 11:31:02 +02:00
Oxan van Leeuwen
5ec9bb0fb5
Clean-up constant definitions ( #2148 )
2021-08-23 19:21:30 +12:00