Commit Graph

170 Commits

Author SHA1 Message Date
J. Nick Koston f783438a7d
Ensure expected_disconnect is True when sending DisconnectResponse fails (#646) 2023-11-20 19:08:29 +01:00
J. Nick Koston c76d741cb8
Refactor to reduce duplicate connection code (#644) 2023-11-18 15:10:40 -06: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 f94ddf8e6a
Fix handling incoming data from protractor event loop (#642) 2023-11-16 17:50:54 -06:00
J. Nick Koston 3ccb36b6fc
Refactor frame helper to avoid py conversions when processing packets (#641) 2023-11-16 12:24:50 -06:00
J. Nick Koston d6293d9177
Refactor frame helper to allow sending multiple packets at once (#640) 2023-11-16 10:31:02 -06:00
J. Nick Koston 634c739048
Fix host resolution when local dns does not resolve mdns (#636) 2023-11-11 14:48:12 -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 0202e00eae
Ensure zeroconf instance is closed when log runner ends (#632) 2023-11-11 13:43:31 -06:00
J. Nick Koston 3ffcca3bdd
Make log runner code reusable and add coverage (#630) 2023-11-11 13:06:27 -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
J. Nick Koston 6458ebcf60
Allow the stop callback to be cancelled when already disconnected (#615) 2023-11-06 18:17:50 -06:00
J. Nick Koston 0683521839
Wait for handshake to finish to allow for clean disconnect when stopping reconnect logic (#614) 2023-11-06 16:46:32 -06:00
J. Nick Koston 2ef9ed9026
Fix zeroconf reconnect logic (#613) 2023-11-06 15:04:09 -06:00
J. Nick Koston 8357a3a0c6
Remove extra timeouts (#610) 2023-10-31 23:20:22 -05:00
J. Nick Koston 1d2682a76e
Improve logging on clean disconnect failure (#609) 2023-10-31 23:07:40 -05: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 ae03a831b9
Add test for successful noise handshake and single packet (#605) 2023-10-24 15:58:08 -05:00
J. Nick Koston 9f30e9d0df
Add test coverage for noise handshake failure (#604) 2023-10-24 14:44:57 -05:00
J. Nick Koston e1c42e95bf
Ensure frame_helper is always closed before the underlying socket (#602) 2023-10-23 19:22:08 -05:00
J. Nick Koston 1630816dc8
Fix unhandled exception when handshake times out (#601) 2023-10-23 12:32:20 -05:00
J. Nick Koston 000ff14ac0
Make reconnect logic state machine switches check locks (#597) 2023-10-21 17:46:45 -10:00
J. Nick Koston 63897ed680
Move varuint functions into plain_text frame_helper (#587) 2023-10-16 17:24:03 -10:00
J. Nick Koston 90f0901ded
Add function to build new format unique ids (#585) 2023-10-15 15:03:13 -10:00
J. Nick Koston b877a0ef8c
Fix imports in host resolver test (#584) 2023-10-15 13:22:12 -10:00
J. Nick Koston cb5cea784e
Improve host resolver coverage (#583) 2023-10-15 13:05:23 -10:00
J. Nick Koston 2a78e9588e
Fix trying to convert hostnames to IP Addresses (#579) 2023-10-15 12:39:12 -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
J. Nick Koston dc367b67bb
Narrow msg_types to only accept tuples (#574) 2023-10-13 18:25:27 -10:00
J. Nick Koston 74facc8fef
Improve performance of processing incoming packets (#573) 2023-10-13 18:01:34 -10:00
J. Nick Koston 275ca3a660
Run tests on multiple python versions (#566) 2023-10-11 12:52:19 -10:00
J. Nick Koston 1d465e3a8a
Switch host resolver to use modern zeroconf APIs (#559) 2023-10-01 18:31:50 +01:00
J. Nick Koston 49d86f940e
Refactor frame helpers to share more code (#500) 2023-07-21 03:11:04 -05:00
J. Nick Koston 65e659e4a5
Split _frame_helper into plain_text and noise (#491) 2023-07-18 14:28:56 -05:00
J. Nick Koston 7196ca6ee8
Speed up encrypted handshake (#487) 2023-07-17 14:51:47 -10:00
J. Nick Koston ab3c096c9b
Speed up noise handshake (#486) 2023-07-17 14:13:58 -10:00
J. Nick Koston e909891ebe
Fix pong timer warning when pending ping is skipped (#483) 2023-07-17 09:27:59 -10:00
J. Nick Koston 8306058703
Improve performance of processing incoming packets (#475) 2023-07-15 08:48:47 -10:00
J. Nick Koston 7a80e3529b
Improve error reporting when encryption is disabled on device but client requests it (#464) 2023-07-10 21:15:14 -10:00
J. Nick Koston b81fe760ba
Improve performance reassembling fragmented packets (#461) 2023-07-09 12:10:33 -10:00
J. Nick Koston f3f5bd6b55
Reduce protocol overhead (#454) 2023-07-03 11:57:04 -05:00
J. Nick Koston 34f6badcde
Use slots for APIConnection and APIClient (#453) 2023-07-01 16:31:58 -05:00
J. Nick Koston eaa5e295cf
Fix more cases where incorrect encryption keys were not detected (#447) 2023-06-24 10:47:24 -05:00
Graham Brown a79da42aaf
Add support for alarm_control_panel entities (#427) 2023-06-12 10:39:49 +12:00
J. Nick Koston a539a6e950
Improve data throughput (#421) 2023-04-19 20:47:38 -10:00
J. Nick Koston 51d581dd9c
Cooldown before reconnecting on expected disconnect (#397) 2023-03-05 18:54:54 -10:00
dependabot[bot] cd142a1fc6
Bump black from 22.12.0 to 23.1.0 (#371)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-02-09 12:08:24 +13:00
J. Nick Koston a83838d025
Fix Invalid protobuf message: expected bytes, bytearray found and add coverage (#359) 2023-01-07 14:24:24 -10:00
J. Nick Koston 2886d361f0
Simplify connection flow with an asyncio.Protocol (#352) 2023-01-05 23:24:10 -05:00
J. Nick Koston a3e3cec26e
Add decoder tests (#344) 2023-01-03 17:39:50 -05:00
J. Nick Koston de5cdfa230
Callback messages to listeners by type (#328) 2022-12-02 09:36:58 -10:00
Jesse Hills fcd529bb32
Add media player entities (#214) 2022-05-18 13:28:40 +12:00
dependabot[bot] 1eebbfc1e0
Bump black from 21.12b0 to 22.1.0 (#169)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto winter <otto@otto-winter.com>
2022-01-31 17:38:57 +01: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 bdfa9d3c13
Add ButtonInfo to test file (#145) 2021-11-29 17:06:41 +13: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 06806b4490
Fix wrapping native RequiresEncryption error types (#113) 2021-10-05 10:56:35 +02:00
Otto Winter 5b99d5c1dd
Refactor connection class to resolve connect issues (#108) 2021-10-04 12:12:43 +02:00
Otto Winter 015e9c8d5e
Add noise API transport support (#100) 2021-09-09 09:12:07 +12:00
Otto Winter 8d08689b29
Support for old zeroconfs (#88) 2021-09-07 18:52:54 +02:00
Otto Winter 738346c9cb
Fix number rounding for protobuf messages (#93)
* Fix number rounding for protobuf messages

* Switch to converter_field
2021-08-24 11:39:18 +12:00
Otto Winter f90ffcf3b8
Also run black/isort on tests (#82) 2021-07-29 16:09:16 +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