J. Nick Koston
4da9abe3fa
Merge branch 'api_ha_services' into integration
2025-07-25 15:37:06 -10:00
J. Nick Koston
95b8321284
[api] Add conditional compilation for Home Assistant service subscriptions
2025-07-25 15:26:15 -10:00
J. Nick Koston
0420bb3862
[api] Add conditional compilation for Home Assistant state subscriptions
2025-07-25 11:47:52 -10:00
J. Nick Koston
c74f12be98
[api] Use C++17 nested namespace syntax ( #9856 )
2025-07-24 07:15:42 +00:00
J. Nick Koston
5c2dea79ef
Make API ConnectRequest optional for passwordless connections ( #9445 )
2025-07-16 13:14:43 +12:00
J. Nick Koston
dd5ba5a90c
Conditionally compile API user services to save 4.3KB flash (follow-up to #9262 ) ( #9451 )
2025-07-11 19:08:03 -10: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
15ef93ccc9
Optimize API connection loop performance ( #9184 )
2025-06-26 13:47:41 +12:00
J. Nick Koston
eeb0710ad4
Optimize API component memory usage by reordering class members to reduce padding ( #9111 )
2025-06-19 13:08:25 +12:00
Clyde Stubbs
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
2ed5611a08
Replace API deferred queue with efficient message batching system ( #9012 )
2025-06-11 11:49:15 +12:00
J. Nick Koston
9cc2a04d54
Implement proper API connection teardown before deep sleep/reboot ( #9008 )
2025-06-09 10:29:26 +12:00
Keith Burzinski
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
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
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
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
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
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
Daniel Dunn
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
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
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 89355e0879/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
Fredrik Gustafsson
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 05bc9e9f1c
.
* 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
9273e3775b
Add vector includes ( #4080 )
2022-11-24 13:12:55 +13:00
Jesse Hills
0e66c899ce
Allow multiple bluetooth proxy connections ( #3971 )
2022-11-02 23:02:33 +13: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
44b68f140e
Select enhancement ( #3423 )
...
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net >
2022-05-10 16:41:16 +12:00
Jesse Hills
bfbf88b2ea
Webserver utilize Component Iterator to not overload eventstream ( #3310 )
2022-03-23 09:45:05 +13:00
Keilin Bickar
21803607e7
Add new Lock core component ( #2958 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2022-02-04 07:24:31 +13:00
Oxan van Leeuwen
2a84db7f85
Refactor fan platform to resemble climate/cover platforms ( #2848 )
...
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl >
Co-authored-by: rob-deutsch <robzyb+altgithub@gmail.com >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2022-01-23 22:21:54 +13:00
Otto Winter
aec02afcdc
Fix clang-tidy header filter ( #2385 )
...
* Fix clang-tidy header filter
* Allow private members
* Fix clang-tidy detections
* Run clang-format
* Fix remaining detections
* Fix graph
* Run clang-format
2021-09-24 18:02:28 +02:00
Otto Winter
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
Otto Winter
e5051eefbc
API encryption ( #2254 )
2021-09-09 09:22:47 +12:00
Otto Winter
2790d72bff
Convert API to use sockets ( #2253 )
...
* Socket component
* Lint
* Lint
* Fix esp8266 missing INADDR_ANY
* API convert to sockets and frame helper
* Fix compile error
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-09-08 12:52:57 +02:00