Commit graph

150 commits

Author SHA1 Message Date
Jesse Hills
c2756d57d8
Allow entity names to be set to None (#4607)
* Allow entity names to be set to None so they take on the device friendly_name automatically

* Use empty
2023-03-26 22:49:09 +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
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
Oxan van Leeuwen
14e38f0469
Upgrade clang-format to v13 (#4535)
* Upgrade clang-format to v13

* Apply clang-format-13 formatting changes

* Format

* Format bme_680

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-20 03:38:41 +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
J. Nick Koston
ed4a7210d3
Ensure we never write zero bytes (#4284) 2023-01-16 13:24:32 +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
Jesse Hills
9273e3775b
Add vector includes (#4080) 2022-11-24 13:12:55 +13:00
Franck Nijhof
d874626662
Add number device class support (#4042) 2022-11-18 08:01:28 +13:00
Jesse Hills
0e66c899ce
Allow multiple bluetooth proxy connections (#3971) 2022-11-02 23:02:33 +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
RoboMagus
78b55d86e9
Unify 'nullptr' initalization of class members; (#3805) 2022-09-15 11:53:02 +12: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
André Klitzing
72cce391ab
Fix some typos found by codespell (#3598) 2022-06-27 18:02:46 -03:00
Jesse Hills
6221f6d47d
Implement Media Player and I2S Media player (#3487) 2022-06-02 17:00:17 +12:00
Keilin Bickar
f0c890f160
Remove deprecated fan speeds (#3397)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-05-19 12:50:44 +12:00
Maurice Makaay
44b68f140e
Select enhancement (#3423)
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
2022-05-10 16:41:16 +12:00
Adrián Panella
b0bd9e0a34
protobuf: fix incomplete 64 bits implementation (#3341) 2022-04-04 08:38:44 +12:00
Jesse Hills
bfbf88b2ea
Webserver utilize Component Iterator to not overload eventstream (#3310) 2022-03-23 09:45:05 +13:00
Peter Valkov
e445d6aada
Fix for api disconnect detection. (#2909)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2022-02-19 10:36:19 +01:00
Otto Winter
2622e59b0b
Remove spurious Zeroconf instance from api client (#3143) 2022-02-09 14:57:00 +01: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
Jimmy Hedman
d92f297bc0
Add IPv6 support for ESP-IDF framework (#2953)
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2022-01-25 09:55:33 +01:00
Oxan van Leeuwen
80d03a631e
Force braces around multi-line statements (#3094)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-01-25 08:56:36 +13:00
Oxan van Leeuwen
c2ee0f0864
Rename WEBSERVER_PORT define to USE_WEBSERVER_PORT (#3102) 2022-01-24 00:34:38 +01: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
Oxan van Leeuwen
b2430097f2
Enable readability-named-parameter check (#3098)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-01-23 20:39:07 +13:00
Otto Winter
62f9736b1d
API: Expect a name for connections (#2533) 2022-01-20 12:03:32 +01:00
Oxan van Leeuwen
737188ae50
Fail hard if no random bytes available for encryption (#3067) 2022-01-18 14:29:57 +13:00
Oxan van Leeuwen
6383eca54a
Clean-up random helper functions (#3022) 2022-01-10 13:50:26 +13:00
Kamil Trzciński
5844c1767b
Extend esp32_camera with requester to improve performance (#2813) 2022-01-10 11:58:49 +13:00
Oxan van Leeuwen
499625f266
Convert is_callable to a backport of std::is_invocable (#3023) 2022-01-10 11:07:37 +13:00
Oxan van Leeuwen
beeb0c7c5a
Introduce hex parsing & formatting helper functions (#2882) 2021-12-13 09:15:23 +13: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
Kamil Trzciński
fb57ab0add
Add esp32_camera_web_server: to expose mjpg/jpg images (#2237)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-11-10 13:10:07 +13:00
Jesse Hills
3c0414c420
Add Entity categories for Home Assistant (#2636) 2021-11-08 07:24:52 +13:00
Jesse Hills
d8b3af3815
Expose webserver_port to the native API (#2640) 2021-11-01 09:33:04 +13:00