Commit Graph

176 Commits

Author SHA1 Message Date
J. Nick Koston
250f786c38
Add benchmarks for calling back bluetooth packets (#671) 2023-11-23 10:34:11 -06:00
J. Nick Koston
33966938f2
Add coverage for bluetooth advertising (#670) 2023-11-23 10:20:56 -06:00
J. Nick Koston
1cc6b3ed52
Fix missed GATT notify if the device responds immediately after subscribe (#669) 2023-11-23 09:46:56 -06:00
J. Nick Koston
70a670f2b2
Rename internal client connection get function to _get_connection (#661) 2023-11-22 22:32:22 +01:00
J. Nick Koston
ac43747196
Refactor connection checks to return APIConnection to avoid many asserts (#660) 2023-11-22 22:22:10 +01:00
J. Nick Koston
77a7c5eaf4
Guard client connection asserts with if TYPE_CHECKING (#659) 2023-11-22 21:54:01 +01:00
J. Nick Koston
d8cace0b26
Reduce duplication in bluetooth gatt read code (#657) 2023-11-21 23:24:54 +01:00
J. Nick Koston
298aa01b00
Small cleanups to connection (#648) 2023-11-21 13:08:48 +01:00
J. Nick Koston
b12903e2e7
Refactor zeroconf code to avoid creating instances when one is unneeded (#643) 2023-11-17 13:11:36 -06:00
J. Nick Koston
c1a0500ecb
Update some legacy python code to python 3.9 (#635) 2023-11-11 14:19:04 -06:00
J. Nick Koston
b227f79dad
Refactor bluetooth client functions to reduce duplicate code (#629) 2023-11-10 17:14:00 -06:00
J. Nick Koston
a15b96c76b
Send hello and login asynchronously to speed up connecting (#628) 2023-11-09 19:17:53 -06:00
J. Nick Koston
ef9f9bf136
Ensure an empty noise_psk or expected_name is treated as None (#623) 2023-11-08 18:00:28 -06:00
J. Nick Koston
7ac7742c91
Ensure passed params are always a str (#622) 2023-11-08 17:26:51 -06:00
Daniel Dunn
5a8c0d8e23
Updated fork of PR for Text input components (#532)
Co-authored-by: Maurits <maurits@vloop.nl>
Co-authored-by: Daniel Dunn <dannydunn@eternityforest.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-10-25 15:35:04 +13:00
J. Nick Koston
f34bfb5d1c
Simplify raw ble advertisements callbacks (#594) 2023-10-20 17:34:05 -10:00
J. Nick Koston
d950d90245
Improve consistency of name logging (#577) 2023-10-14 17:04:27 -10:00
J. Nick Koston
b7449d4ded
Split connection process to enable faster reconnects (#576) 2023-10-14 16:03:12 -10:00
Jesse Hills
a17dc3c380
Add voice assistant audio settings (#556) 2023-09-27 08:34:07 +13:00
J. Nick Koston
11a19438cb
Avoid a few calls to fetch loop time (#533) 2023-09-04 12:56:23 -05:00
J. Nick Koston
4c992365e0
Increase default bluetooth disconnect timeout to 20s (#528) 2023-09-03 08:28:39 -05:00
J. Nick Koston
eebc7d99f2
Make entity info and state mappings constants (#523) 2023-08-15 22:19:46 -05:00
Jesse Hills
2c7b2ed1a0
Add wake word capability to voice assistant (#519) 2023-08-10 16:03:15 +12:00
J. Nick Koston
90cb44224a
Reduce memory churn by avoiding reprocessing BluetoothLERawAdvertisement (#507) 2023-07-27 08:17:40 -05:00
J. Nick Koston
3432477c20
Avoid some data Bluetooth data conversions (#501) 2023-07-21 03:33:07 -05:00
J. Nick Koston
82ab7e489d
Add messages to all task cancels (#497) 2023-07-19 15:37:59 -05:00
J. Nick Koston
d63b9bbf5d
Upgrade python code to 3.9 (#496) 2023-07-19 15:33:28 -05:00
J. Nick Koston
2d89b9e267
Cleanup bluetooth connection failure code (#495) 2023-07-19 14:25:32 -05:00
J. Nick Koston
541ce059c0
Add slots to all models when using py3.10 or later (#459) 2023-07-18 17:23:07 -05:00
J. Nick Koston
8060c3c99d
Small speed up to bluetooth message wrapper (#490) 2023-07-18 14:11:06 -05:00
J. Nick Koston
92ec96469d
Remove memoryview wrapping for cameras (#484) 2023-07-17 09:47:06 -10:00
J. Nick Koston
6aeea79884
Speed up BLE connections (#482) 2023-07-15 11:16:44 -10:00
J. Nick Koston
ed0a611994
Improve error reporting for authenticated vs non-authenticated requests (#481) 2023-07-15 10:34:46 -10:00
J. Nick Koston
9112a68bf9
Guard a few frequently called instance checks with if TYPE_CHECKING (#469) 2023-07-15 07:55:07 -10:00
J. Nick Koston
8ac62a321f
Improve performance of converting raw BLE advertisements (#462) 2023-07-09 13:06:06 -10:00
J. Nick Koston
d53ab5d5bb
Use memoryview for camera images (#456) 2023-07-03 18:26:52 -05:00
J. Nick Koston
34f6badcde
Use slots for APIConnection and APIClient (#453) 2023-07-01 16:31:58 -05:00
Graham Brown
a79da42aaf
Add support for alarm_control_panel entities (#427) 2023-06-12 10:39:49 +12:00
Jesse Hills
44f0b8027d
Add raw ble advertisements support (#439)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-06-07 00:42:57 -05:00
Jesse Hills
8340d2a6b8
Add use_vad flag to VA start request (#438) 2023-05-30 14:17:55 +12:00
Jesse Hills
b1bfabacc7
Add conversation_id to VA start request (#437) 2023-05-30 11:18:28 +12:00
J. Nick Koston
7b8ed9fd03
Fix BLE connection timing out on failure instead of raising (#429) 2023-05-07 09:05:51 -05:00
J. Nick Koston
de9b7266f1
Refactor reconnect logic to reduce complexity (#426) 2023-04-25 16:11:40 -04:00
J. Nick Koston
3f29ac92ad
Hold strong references to voice assistant tasks (#424) 2023-04-20 14:30:28 -10:00
Jesse Hills
15846c5896
Add initial voice assistant support (#412) 2023-04-11 15:57:35 +12:00
Jesse Hills
d7ae431c59
Disable pylint too-many-lines (#413) 2023-04-03 16:53:43 +12:00
J. Nick Koston
d6fd9b6cfd
Add the ability to clear the cache to the API (#410)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-27 10:47:21 +13:00
richardhopton
4bb8fbbed1
feat: Unsubscribe from BLE advertisements fully on unsub (#409) 2023-03-27 09:35:11 +13:00
Fredrik Gustafsson
2041d747cb
add pairing methods (#390) 2023-03-07 07:07:58 +13:00
J. Nick Koston
0327f75414
Adjust ping timeout to prevent premature disconnections (#395) 2023-03-05 18:56:22 -10:00
J. Nick Koston
51d581dd9c
Cooldown before reconnecting on expected disconnect (#397) 2023-03-05 18:54:54 -10:00
Fredrik Gustafsson
3e60332a71
Fix bluetooth_device_connect returning prematurely from a disconnect (#391) 2023-02-24 08:31:24 -06:00
J. Nick Koston
f99db3577c
Remove useless on_msg function in subscribe_logs (#380) 2023-02-13 11:42:14 +13:00
J. Nick Koston
284b767d8d
Refactor cleanup to be a normal function (#355) 2023-01-06 21:42:39 -05:00
J. Nick Koston
2886d361f0
Simplify connection flow with an asyncio.Protocol (#352) 2023-01-05 23:24:10 -05:00
J. Nick Koston
049dc8bb56
Speed up parsing/conversion of BluetoothLEAdvertisement (#353) 2023-01-05 21:23:40 -05:00
J. Nick Koston
b34664e44c
Fix failure to reconnect when the process task raises an exception during decoding a protobuf message (#339) 2022-12-13 10:31:12 -10:00
J. Nick Koston
577868a84c
Add method to cancel bluetooth_gatt_start_notify upon ble device disconnect (#329) 2022-12-02 09:51:03 -10:00
J. Nick Koston
de5cdfa230
Callback messages to listeners by type (#328) 2022-12-02 09:36:58 -10:00
J. Nick Koston
4f7a1faddd
Fix bluetooth write without response (#326) 2022-12-01 11:36:58 +13:00
J. Nick Koston
a937d9d85a
Add address_type to BluetoothLEAdvertisementResponse and BluetoothDeviceRequest (#320) 2022-11-29 17:00:27 +13:00
J. Nick Koston
e3094db6ad
Active BLE connection v3 (#317) 2022-11-29 15:06:13 +13:00
Jesse Hills
c3d610e45a
Increase timeout while waiting for ListEntities to be done (#318) 2022-11-28 23:07:58 +13:00
J. Nick Koston
ac303e8986
Fix connection subscription leak on cancelation (#316) 2022-11-28 23:06:06 +13:00
J. Nick Koston
14a2e30ec3
Wait for BLE disconnect when connecting timeouts (#310) 2022-11-23 07:32:04 +13:00
J. Nick Koston
dbfff4397e
Fix BLE writes timing out (#298) 2022-11-07 08:32:32 +13:00
J. Nick Koston
c6e824e778
Improve bluetooth error reporting (#297)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-11-01 09:32:40 +13:00
Jesse Hills
c7edc2e601
Raise GATT errors on read and write etc (#272)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-31 11:38:24 +13:00
J. Nick Koston
cb6b1595b7
Fix race while disconnecting after connect timeout (#295) 2022-10-31 11:26:09 +13:00
J. Nick Koston
56cceea672
Disconnect ble device if connect attempt fails to recover slot (#293) 2022-10-31 09:09:01 +13:00
J. Nick Koston
745e0b688e
Adjust ble timeouts to be longer than bleak timeouts (#287) 2022-10-25 16:12:52 +13:00
Jesse Hills
a6f18ae9df
Only try remove callbacks when not None (#268) 2022-10-03 12:32:13 +13:00
Jesse Hills
45d727cc03
A few fixes for BLE GATT (#261) 2022-09-30 07:25:18 +13:00
Jesse Hills
6a82766553
Add Bluetooth GATT calls (#259) 2022-09-28 12:50:37 -04:00
Jesse Hills
1273d689f1
Implement Bluetooth LE advertisement receiving (#246) 2022-08-22 15:27:46 +12:00
Suryandaru Triandana
5831eb5f2a
Increase ListEntitiesRequest timeout to 30 seconds (#234) 2022-07-07 11:39:01 +12:00
Jesse Hills
fcd529bb32
Add media player entities (#214) 2022-05-18 13:28:40 +12:00
Otto Winter
9964034f18
Expect a name for connections (#122)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-01-20 12:03:36 +01:00
Keilin Bickar
d0d1e526f5
Add lock entity (#158) 2022-01-11 14:29:19 +13:00
Jesse Hills
dcad9cdcb7
Add support for Button entities (#143) 2021-11-29 13:59:23 +13:00
Otto Winter
ca3a14b1bc
Fix connect login 2 (#128) 2021-10-21 19:24:03 +02:00
Otto Winter
3b8b2d9d66
Fix login error cleanup (#126) 2021-10-21 19:20:05 +02:00
Otto Winter
f3aaf0391d
Remove eventloop parameter (#110) 2021-10-13 10:15:30 +02:00
Otto Winter
5b99d5c1dd
Refactor connection class to resolve connect issues (#108) 2021-10-04 12:12:43 +02:00
Otto Winter
5c9e7acbce
Emit different Exception types to differentiate between connection errors (#102)
* Emit different Exception types to differentiate between connection errors

* Import in init
2021-09-14 12:44:52 +02:00
Jesse Hills
2350ac78b7
Add support for siren entities (#97) 2021-09-09 13:11:51 +12:00
Otto Winter
015e9c8d5e
Add noise API transport support (#100) 2021-09-09 09:12:07 +12:00
Otto Winter
6f131f4bf6
Switch light colormode to be bitfields instead of enums (#95) 2021-08-25 13:45:28 +02:00
Oxan van Leeuwen
32d2df8e24
Color mode implementation (#74)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2021-07-29 19:16:25 +02:00
Jesse Hills
551a1acd0d
Add select entities (#75) 2021-07-27 06:51:12 +12:00
Otto Winter
3a7a47f649
Add pytest unit testing (#64) 2021-07-12 20:09:17 +02:00
Otto Winter
33e49a19b5
Fix camera not merging packets (#63) 2021-07-09 09:19:39 +02:00
Otto Winter
ff10a20bce
Add reconnect logic class (#54) 2021-06-30 17:10:30 +02:00
Otto Winter
0ac14489c8
Implement PEP561 typing support (#55) 2021-06-30 17:05:44 +02:00
Otto Winter
2629e8d86c
Update host_resolve for zeroconf 0.32.0 (#52) 2021-06-30 17:00:22 +02:00
Otto Winter
872c643058
Switch from attrs to dataclasses (#36) 2021-06-29 15:36:14 +02:00
Jesse Hills
e0f09de715
Add number entities (#47) 2021-06-29 22:42:38 +12:00
Otto Winter
86a8ab9130
Fix bad typing for LogLevel (#45)
* Fix bad typing for LogLevel

* Lint
2021-06-24 09:55:35 +02:00
Otto Winter
b1b36754ec
Climate preset, custom fan mode and custom preset (#42)
Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Lumpusz <marton.keri@gmail.com>
2021-06-23 23:40:41 +02:00
Otto Winter
52cf01e11a
Add flake8, black, isort and mypy linting (#39) 2021-06-18 17:57:02 +02:00