J. Nick Koston
dd38225f51
Use hashlib in place of hashes.Hash ( #714 )
2024-01-26 06:57:56 -10:00
J. Nick Koston
fcd4883645
Use hashlib for klap since its faster ( #711 )
2024-01-26 09:33:18 +00:00
J. Nick Koston
bab40d43e6
Renew the handshake session 20 minutes before we think it will expire ( #697 )
...
* Renew the KLAP handshake session 20 minutes before we think it will expire
Currently we assumed the clocks were perfectly aligned and the handshake
session lasted 20 hours. We now add a 20 minute buffer
* use timeout cookie when available
2024-01-24 10:11:27 +01:00
Steven B
1788c50146
Update transport close/reset behaviour ( #689 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-23 12:15:18 -10:00
Steven B
718983c401
Try default tapo credentials for klap and aes ( #685 )
...
* Try default tapo credentials for klap and aes
* Add tests
2024-01-23 14:44:32 +00:00
J. Nick Koston
8523800b23
Fix minor typos in docstrings ( #659 )
2024-01-20 02:40:21 +01:00
J. Nick Koston
d62b5a55cc
Improve and document close behavior ( #654 )
...
* Close connection on smartprotocol timeout
* tweaks
2024-01-19 21:30:01 +01:00
Steven B
bedf05ce3b
Remove time logging in debug message ( #645 )
2024-01-18 08:32:58 -10:00
Steven B
3b1b0a3c21
Encapsulate http client dependency ( #642 )
...
* Encapsulate http client dependency
* Store cookie dict as variable
* Update post-review
2024-01-18 10:57:33 +01:00
sdb9696
b156defc3c
Fix cli discover bug with None username/password ( #615 )
2024-01-04 19:17:48 +01:00
sdb9696
e9bf9f58ee
Allow serializing and passing of credentials_hashes in DeviceConfig ( #607 )
...
* Allow passing of credentials_hashes in DeviceConfig
* Update following review
2024-01-03 22:46:08 +01:00
Teemu R
30c4e6a6a3
Cleanup credentials handling ( #605 )
...
* credentials: don't allow none to simplify checks
* Implement __bool__ for credentials
* Cleanup klaptransport cred usage
* Cleanup deviceconfig and tapodevice
* fix linting
* Pass dummy credentials for tests
* Remove __bool__ dunder and add docs to credentials
* Check for cred noneness in tapodevice.update()
2024-01-03 19:26:52 +01:00
sdb9696
f6fd898faf
Add DeviceConfig to allow specifying configuration parameters ( #569 )
...
* Add DeviceConfig handling
* Update post review
* Further update post latest review
* Update following latest review
* Update docstrings and docs
2023-12-29 20:17:15 +01:00
sdb9696
20ea6700a5
Do login entirely within AesTransport ( #580 )
...
* Do login entirely within AesTransport
* Remove login and handshake attributes from BaseTransport
* Add AesTransport tests
* Synchronise transport and protocol __init__ signatures and rename internal variables
* Update after review
2023-12-19 15:11:59 +01:00
sdb9696
2e6c41d039
Improve smartprotocol error handling and retries ( #578 )
...
* Improve smartprotocol error handling and retries
* Update after review
* Enum to IntEnum and SLEEP_SECONDS_AFTER_TIMEOUT
2023-12-10 16:41:53 +01:00
sdb9696
01f3827d73
Fix transport retries after close ( #568 )
2023-12-05 15:56:29 +01:00
sdb9696
4a00199506
Add klap support for TAPO protocol by splitting out Transports and Protocols ( #557 )
...
* Add support for TAPO/SMART KLAP and seperate transports from protocols
* Add tests and some review changes
* Update following review
* Updates following review
2023-12-04 19:50:05 +01:00