mirror of
https://github.com/python-kasa/python-kasa.git
synced 2025-01-08 22:07:06 +00:00
30f217b8ab
* Add support for the new encryption protocol This adds support for the new TP-Link discovery and encryption protocols. It is currently incomplete - only devices without username and password are current supported, and single device discovery is not implemented. Discovery should find both old and new devices. When accessing a device by IP the --klap option can be specified on the command line to active the new connection protocol. sdb9696 - This commit also contains 16 later commits from Simon Wilkinson squashed into the original * Update klap changes 2023 to fix encryption, deal with kasa credential switching and work with new discovery changes * Move from aiohttp to httpx * Changes following review comments --------- Co-authored-by: Simon Wilkinson <simon@sxw.org.uk>
57 lines
1.5 KiB
Python
Executable File
57 lines
1.5 KiB
Python
Executable File
"""Python interface for TP-Link's smart home devices.
|
|
|
|
All common, shared functionalities are available through `SmartDevice` class::
|
|
|
|
x = SmartDevice("192.168.1.1")
|
|
print(x.sys_info)
|
|
|
|
For device type specific actions `SmartBulb`, `SmartPlug`, or `SmartStrip`
|
|
should be used instead.
|
|
|
|
Module-specific errors are raised as `SmartDeviceException` and are expected
|
|
to be handled by the user of the library.
|
|
"""
|
|
from importlib.metadata import version
|
|
|
|
from kasa.credentials import Credentials
|
|
from kasa.discover import Discover
|
|
from kasa.emeterstatus import EmeterStatus
|
|
from kasa.exceptions import (
|
|
AuthenticationException,
|
|
SmartDeviceException,
|
|
UnsupportedDeviceException,
|
|
)
|
|
from kasa.klapprotocol import TPLinkKlap
|
|
from kasa.protocol import TPLinkProtocol, TPLinkSmartHomeProtocol
|
|
from kasa.smartbulb import SmartBulb, SmartBulbPreset, TurnOnBehavior, TurnOnBehaviors
|
|
from kasa.smartdevice import DeviceType, SmartDevice
|
|
from kasa.smartdimmer import SmartDimmer
|
|
from kasa.smartlightstrip import SmartLightStrip
|
|
from kasa.smartplug import SmartPlug
|
|
from kasa.smartstrip import SmartStrip
|
|
|
|
__version__ = version("python-kasa")
|
|
|
|
|
|
__all__ = [
|
|
"Discover",
|
|
"TPLinkSmartHomeProtocol",
|
|
"TPLinkProtocol",
|
|
"TPLinkKlap",
|
|
"SmartBulb",
|
|
"SmartBulbPreset",
|
|
"TurnOnBehaviors",
|
|
"TurnOnBehavior",
|
|
"DeviceType",
|
|
"EmeterStatus",
|
|
"SmartDevice",
|
|
"SmartDeviceException",
|
|
"SmartPlug",
|
|
"SmartStrip",
|
|
"SmartDimmer",
|
|
"SmartLightStrip",
|
|
"AuthenticationException",
|
|
"UnsupportedDeviceException",
|
|
"Credentials",
|
|
]
|