Commit Graph

85 Commits

Author SHA1 Message Date
Jesse Hills da154c24a8
Merge branch 'dev' into jesserockz-2024-087 2024-04-24 14:39:57 +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 8a1366d144
Change to use epoch_seconds for datetime state in API 2024-04-22 15:07:25 +12:00
Jesse Hills e451a3530e
Add datetime entities 2024-04-11 14:32:30 +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
Jesse Hills 6f71363d9b
Send/Receive Voice Assistant audio via API (#6471)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-04-08 16:19:22 +12: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 01fc0578bd
Add wake word phrase to voice assistant start command (#6290) 2024-03-06 07:41:18 +13:00
dougiteixeira 323849c821
Add device class support to text sensor (#6202)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-02-26 11:29:39 +13:00
Jesse Hills bd6fa29f77
Regenerate api_pb2 after manual changes were added incorrectly in #5732 (#5990) 2023-12-22 14:29:10 +09:00
Stefan Rado 6c7a133faa
Add humidity support to climate (#5732)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-12-13 10:23:02 +09:00
Tucker Kern ad79e4fe24
Add support for fan preset modes (#5694)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-12 14:13:26 +09:00
Cossid 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
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 4913b3cc35
Add stream start and end events (#5545) 2023-10-17 17:18:05 +13:00
Jimmy Hedman c9a8911029
Prepare protobuf for ESP-IDF >= 5 (#5510) 2023-10-11 11:51:53 +13:00
Jesse Hills 511af5845e
Remote wake word support for voice assistant (#5229) 2023-10-10 19:52:42 +13:00
Jimmy Hedman aabe0091cc
Prepare api and time for ESP-IDF >= 5 (#5332) 2023-09-04 15:51:04 -05: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 c5efaa1c00
Remove climate legacy away flags (#4744) 2023-04-27 13:11:32 +12:00
Alexander Momchilov bef5b38d49
Add `supports_stop` trait to Cover (#3897)
* Add "stop" trait to Cover

* Add `supports_stop` to Cover protobuf msg

* Run `script/api_protobuf/api_protobuf.py`

... followed by `script/clang-format -i`

* Add `has_stop` field to template Cover

* Set `has_stop` during Cover codegen

* Set `supports_stop` trait on all other Cover types

* Bump APIVersion to 1.8

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-04-23 20:51:32 +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
richardhopton 922344811f
feat: Add support to unsubscribe from BLE advertisements (#4620)
* feat: Add support to unsubscribe from BLE advertisements

* Fix tests & clang

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-28 08:54:58 +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 0e1d018ce3
Allow specifying target and current visual steps for climate (#4440)
* Allow specifying target and current visual steps for climate

* Fixes

* format

* format
2023-02-20 22:22:43 +00:00
Michael Muré dfafc41ce6
climate: add support for quiet fan mode (#3609) 2023-02-09 11:28:16 +13:00
Jesse Hills c301ae3645
Add friendly_name to device (#4296) 2023-01-17 10:28:09 +13:00
Jesse Hills eb664b99ba
preprocess out proto_enum_to_string if not needed (#4119) 2022-11-30 08:30:00 +13:00
J. Nick Koston 8414bb9a7a
Active BLE connection v3 (#4113)
Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com>
Co-authored-by: Maurice Makaay <account+github@makaay.nl>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-11-30 07:53:32 +13:00
Jesse Hills 120327866f
Send device address type alongside ble advertisements (#4115) 2022-11-29 17:24:21 +13:00
Franck Nijhof d874626662
Add number device class support (#4042) 2022-11-18 08:01:28 +13:00
Jesse Hills d93f35701f
Send manufacturer name via API (#3938) 2022-10-25 17:24:38 +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
Peter Galantha aeb81e547b
Add state_class total (#3608)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-08-11 14:00:09 +12:00
Jesse Hills 6221f6d47d
Implement Media Player and I2S Media player (#3487) 2022-06-02 17:00:17 +12:00
Franck Nijhof e7864a28a1
Add device class support to Switch (#3012)
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2022-02-04 09:04:48 +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
Otto Winter 62f9736b1d
API: Expect a name for connections (#2533) 2022-01-20 12:03:32 +01:00
Oxan van Leeuwen 607601b3a4
Enable a bunch of clang-tidy checks (#2149) 2021-12-02 09:03:51 +13:00
Jesse Hills d9513e5ff2
Number mode (#2838) 2021-12-01 08:11:38 +13:00
puuu b5a0e8b2c0
Implement unit_of_measurement for number component (#2804)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-11-30 16:20:59 +01:00
Jesse Hills b32b918936
Button device class (#2835) 2021-11-30 16:18:21 +01:00
Jesse Hills b5639a6472
Add support for button entities (#2824) 2021-11-30 08:00:51 +13:00