Steven B
14acc8550e
Rename base TPLinkProtocol to BaseProtocol ( #669 )
2024-01-22 16:28:30 +01:00
Steven B
5b8280a8d9
Return alias as None for new discovery devices before update ( #627 )
...
* Trim the length of the unavailable device alias
* Update to use short mac as auth required alias
* Update to return alias as none
2024-01-11 16:12:02 +01:00
Steven B
d5a6fd8e73
Improve test coverage ( #625 )
2024-01-10 20:37:43 +01:00
Teemu R
2d8a8d9511
Add update-credentials command ( #620 )
...
* Add change credentials command
* Rename command and add prompts for credential update
2024-01-05 02:25:15 +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
3692e4812f
Implement wifi interface for tapodevice ( #606 )
...
* Implement wifi interface for tapodevice
* Implement wifi_join
Tested to work on P110
* Fix linting
2024-01-03 22:45:16 +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
Teemu R
10fc2c3c54
Pull up emeter handling to tapodevice base class ( #601 )
...
* Pull has_emeter property up to tapodevice base class
This will also use the existence of energy_monitoring in the component_nego query to decide if the device has the service.
* Move emeter related functions to tapodevice
* Remove supported_modules override for now
This should be done in a separate PR, if we want to expose the available components to cli and downstreams
* Dedent extra reqs
* Move extra_reqs initialization
* Fix tests
2024-01-03 19:04:34 +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
6819c746d7
Enable multiple requests in smartprotocol ( #584 )
...
* Enable multiple requests in smartprotocol
* Update following review
* Remove error_code parameter in exceptions
2023-12-20 18:08:04 +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
Teemu R
a77af5fb3b
Request component_nego only once for tapodevice ( #576 )
...
Optimizes the update cycle a bit, as it's doubtful the components change over time
2023-12-10 00:32:30 +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
sdb9696
a6b7d73d79
Update dump_devinfo to produce new TAPO/SMART fixtures ( #561 )
2023-12-02 17:33:35 +01:00
sdb9696
63d64ad920
Add support for the protocol used by TAPO devices and some newer KASA devices. ( #552 )
...
* Add Tapo protocol support
* Update get_device_instance and test_unsupported following review
2023-11-30 13:10:49 +01:00