J. Nick Koston
143bf694c7
Optimize API flash usage by storing message size at compile time ( #9447 )
2025-07-11 19:38:23 -05:00
J. Nick Koston and Copilot
ee8ee4e646
Optimize logger callback API by including message length parameter ( #9368 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-07 22:00:03 +00:00
J. Nick Koston
b122112d58
Refactor API entity update dispatch to reduce code duplication ( #9372 )
2025-07-08 08:51:17 +12:00
e49b89a051
Introduce base Camera class to support alternative camera implementations ( #9285 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2025-07-07 15:45:00 +12:00
J. Nick Koston
0bc18a8281
Eliminate API component guard variable to save 8 bytes RAM ( #9341 )
2025-07-05 23:34:55 -05:00
J. Nick Koston
5b55e205ef
Save flash and RAM by conditionally compiling unused API password code ( #9297 )
2025-07-03 09:42:08 +12:00
J. Nick Koston
6a354d7c94
Reduce API component memory usage with conditional compilation ( #9262 )
2025-06-30 15:33:35 +12:00
J. Nick Koston
24bbfcdce7
Reduce API memory footprint through bitfield consolidation and type sizing ( #9252 )
2025-06-30 11:42:57 +12:00
J. Nick Koston
86c0fb48a3
Replace ping retry timer with batch queue fallback ( #9207 )
2025-06-29 09:08:30 +12:00
J. Nick Koston
15ef93ccc9
Optimize API connection loop performance ( #9184 )
2025-06-26 13:47:41 +12:00
J. Nick Koston
43c677ef37
Optimize API server performance by using cached loop time ( #9104 )
2025-06-19 12:12:14 +12:00
Clyde Stubbs and J. Nick Koston
261b561bb2
[binary_sensor] Add action to invalidate state and pass to HA ( #8961 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-06-12 09:16:20 +10:00
J. Nick Koston
e8aa7cff36
Improve shutdown reliability when tx buffer is full ( #9043 )
2025-06-11 22:08:23 +12:00
J. Nick Koston
2ed5611a08
Replace API deferred queue with efficient message batching system ( #9012 )
2025-06-11 11:49:15 +12:00
J. Nick Koston
c0b05ada1a
Reduce ESP_LOGCONFIG calls ( #9026 )
2025-06-09 00:02:30 +00:00
J. Nick Koston
9cc2a04d54
Implement proper API connection teardown before deep sleep/reboot ( #9008 )
2025-06-09 10:29:26 +12:00
J. Nick Koston and Keith Burzinski
fd72a64053
Redundant Log Messages Cleanup ( #8944 )
...
Co-authored-by: Keith Burzinski <kbx81x@gmail.com >
2025-05-29 09:36:23 +00:00
J. Nick Koston
43e88af28a
Optimize socket operations by checking readiness in the main loop ( #8918 )
2025-05-28 18:16:37 -05:00
Keith Burzinski
b6fa4f641d
Streamline setup() logging (a, b) ( #8924 )
2025-05-28 22:53:51 +12:00
J. Nick Koston
f4eb75e4e0
Avoid iterating clients twice in the api_server loop ( #8733 )
2025-05-12 17:29:50 -05:00
Keith Burzinski and Jesse Hills
2fd5f9ac58
[api] Allow noise encryption key to be set at runtime ( #7296 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-04-17 13:15:25 +12:00
Nick Kinnan and Keith Burzinski
6aba1dbd73
[api] ensure fair network sharing + prevent lost state changes via deferred publish at high event load ( #7547 )
...
Co-authored-by: Keith Burzinski <kbx81x@gmail.com >
2025-02-25 10:20:21 +11:00
tomaszduda23
cbc03aae80
[code-quality] fix clang-tidy api ( #7279 )
2024-10-07 11:55:11 +13:00
Jesse Hills
2b25daa199
[api] Add new flag to request state/attribute once from HA only ( #7258 )
2024-08-13 17:12:06 +12:00
Jesse Hills
3cd2fb0843
[core] Update Entities ( #6885 )
2024-06-12 09:57:36 +12:00
Jesse Hills
8ef7b41c91
Add datetime entities ( #6513 )
2024-04-26 09:19:54 +12:00
David Friedland and Jesse Hills
c531a528f0
Event entity support ( #6451 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2024-04-24 14:35:26 +12:00
Keith Burzinski and Jesse Hills
eb89d99999
Add valve component ( #6447 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2024-04-23 16:47:03 +12:00
Jesse Hills
76c5337987
Add support for time entities ( #6399 )
...
* Add time entities
* Add tests
* Add myself to datetime codeowners
* Fix publishing times with 0 values
* Log performing TimeCall
* Implement `on_time` trigger
* Rename var
* Fix initial value for time
* Add arg name for clarity
* Remove useless checks
2024-04-08 20:46:35 -05:00
RFDarter and Jesse Hills
1e96a19d09
Add datetime date entities ( #6191 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2024-03-11 07:52:22 +13:00
J. Nick Koston
d4d49e38fc
Fix device not requesting Home Assistant time at the update interval ( #6022 )
2023-12-28 14:51:00 +11:00
Jesse Hills
193bac94f4
Add on_client_connected and disconnected to voice assistant ( #5629 )
2023-10-30 17:16:42 -05:00
Jesse Hills
27b593ba85
Add connection triggers to api ( #5628 )
2023-10-29 21:02:49 -05:00
e80bd8ed3d
Add text component ( #5336 )
...
Co-authored-by: Maurits <maurits@vloop.nl >
Co-authored-by: mauritskorse <mauritskorse@gmail.com >
Co-authored-by: Daniel Dunn <dannydunn@eternityforest.com >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-10-25 22:00:32 +13:00
Jesse Hills
511af5845e
Remote wake word support for voice assistant ( #5229 )
2023-10-10 19:52:42 +13:00
Jesse Hills
417d45939f
Fix silence detection flag on voice assistant ( #5120 )
2023-07-19 11:38:47 +12:00
Graham Brown and Jesse Hills
54474e5b33
Add Alarm Control Panel ( #4770 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-06-15 12:34:39 +12:00
Jesse Hills
ce13979690
Bluetooth Proxy: Raw bundled advertisements ( #4924 )
2023-06-09 07:41:09 +12:00
Jesse Hills
1ea5d90ea3
Continuous voice_assistant and silence detection ( #4892 )
2023-05-31 16:30:53 +12:00
Jesse Hills
55ec082628
Only request VA port from first client that is subscribed ( #4747 )
2023-04-27 04:22:12 +00:00
Jesse Hills
4cea74ef3b
Call on_error if no api client connected that handles voice ( #4709 )
2023-04-19 20:56:37 +00:00
Jesse Hills
b60c08dd28
Add push to talk voice assistant ( #4648 )
...
* Add push to talk voice assistant
* Refactor most code into voice_assistant
* Make voice_assistant the component and remove push_to_talk (can be done in yaml)
* Fix component setup
* Always AF_INET to match serverside
* Fix microphone and media player co-existence
* Format
* Update codeowners
* Update test file
* Fix endifs
* nullptr not NULL
* clang-tidy
* Format
* fixup: Add VA event data
* Generate proto
* Parse and log events
* Add default to switch
* Fix
* Add mic/va to test5
2023-04-11 23:45:10 +00:00
J. Nick Koston
9ee661c1e4
Add ability to clear the gatt cache ( #4621 )
...
* Add ability to clear the gatt cache
With BlueZ we can fully clear the cache when something goes wrong with the services, however since this is also a cache on the ESP32 we need to be able to clear the on device cache as well for the proxies since if something goes wrong with the service resolution it can cache the bad resolution on NVS forever.
Our current client implementation is limited to clearing the memory cache in Home Assistant https://github.com/home-assistant/core/blob/89355e087952417a6824507fd3b197f9d0520e19/homeassistant/components/esphome/bluetooth/client.py#L512
related issue https://github.com/esphome/issues/issues/4156
https://github.com/esphome/aioesphomeapi/pull/410
* naming
* lint
* lint
* naming
* naming
* naming
* 88 now that 87 is taken
* make const
* Update esphome/components/api/api_frame_helper.cpp
2023-03-26 21:48:56 +00:00
Jesse Hills
d42f35de5d
Wrap ipv6 code a bit more ( #4574 )
...
* Wrap ipv6 code a bit more for when ipv6 support should not be compiled in
* More checks
* More uses
* Fix
2023-03-21 20:24:14 +00:00
Fredrik Gustafsson and Jesse Hills
29571a1acd
implement pairing for bluetooth proxy ( #4475 )
...
* default to just-works encryption
This patch will turn on encryption when making active connections in order to comply with just-works BLE encryption.
* Revert "default to just-works encryption"
This reverts commit 05bc9e9f1cca9c41cbc7434379cbd5eb6dbb1034.
* implement pair method
* adhere to clang formatter
* fix oopsie
* bump bluetooth_proxy_version
* add auth callback
* generate new protos
* fix another oopsie
* add pairing status to connection
* clear paired on connect()
* lint
* add unpair ("forget") ble method
* compile protos
* fix oopsie
* add missing unpairing method
* add unpairing
* fix get_paired return type
* remove unused memcpy
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
* change to is_paired
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
* Update bluetooth_proxy.cpp
* actually add missing method
* send auth cb on set_encryption failure
* cleanup from havin the worst test setup
* lint
* match auth events to bd_addr
* add second addr check to auth cb
* add addr check to third auth cb
---------
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-03-06 18:04:35 +00:00
Jesse Hills
b34d24735a
Send GATT error events to HA ( #3884 )
2022-10-12 22:22:07 +13:00
Jesse Hills
ed443c6153
Bluetooth Proxy active connections ( #3817 )
2022-10-04 10:45:06 +13:00
Jesse Hills
b854e17995
Initial bluetooth_proxy support ( #3736 )
2022-08-25 07:13:44 +12:00
Jesse Hills
6221f6d47d
Implement Media Player and I2S Media player ( #3487 )
2022-06-02 17:00:17 +12:00
Maurice Makaay and Maurice Makaay
44b68f140e
Select enhancement ( #3423 )
...
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net >
2022-05-10 16:41:16 +12:00