Controller for TP-Link Tapo P100 and other devices
Project description
Plug P100
This is a fork of original work of @K4CZP3R
The purpose of this fork is to provide the library as PyPi package.
How to install
pip install plugp100
Code example
import asyncio
import os
from plugp100.api.light_effect_preset import LightEffectPreset
from plugp100.api.tapo_client import TapoClient
from plugp100.common.credentials import AuthCredential
from plugp100.discovery.arp_lookup import ArpLookup
from plugp100.discovery.tapo_discovery import TapoDiscovery
async def main():
# print("Scanning network...")
# discovered_devices = list(TapoDiscovery.scan(5))
# for x in discovered_devices:
# print(x)
# if len(discovered_devices) > 0:
# print("Trying to lookup with mac address")
# lookup = await ArpLookup.lookup(
# discovered_devices[0].mac.replace("-", ":"),
# "192.168.1.0/24",
# allow_promiscuous=False,
# )
# print(lookup)
# create generic tapo api
username = os.getenv("USERNAME", "<tapo_email>")
password = os.getenv("PASSWORD", "<tapo_password>")
credentials = AuthCredential(username, password)
client = TapoClient.create(credentials, "<tapo_device_ip>")
print(await client.get_device_info())
print(await client.get_energy_usage())
print(await client.get_current_power())
print(await client.get_child_device_list())
print(await client.get_child_device_component_list())
print(await client.set_lighting_effect(LightEffectPreset.Aurora.to_effect()))
# plug = PlugDevice(TapoClient(username, password), "<tapo_device_ip>")
# light = LightDevice(TapoClient(username, password), "<tapo_device_ip>")
# ledstrip = LedStripDevice(TapoClient(username, password), "<tapo_device_ip>")
# - hub example
# hub = HubDevice(client)
# print(await hub.get_children())
# print(await hub.get_state_as_json())
if __name__ == "__main__":
loop = asyncio.new_event_loop()
loop.run_until_complete(main())
loop.run_until_complete(asyncio.sleep(0.1))
loop.close()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
plugp100-5.0.0.dev5.tar.gz
(63.9 kB
view hashes)
Built Distribution
plugp100-5.0.0.dev5-py3-none-any.whl
(100.2 kB
view hashes)
Close
Hashes for plugp100-5.0.0.dev5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfee7011ec5290145eb17e67cd14c544177579474dd8db97b6d0fddbebb226e4 |
|
MD5 | 4777bf69561c3ace388fb787df9712e3 |
|
BLAKE2b-256 | fc4f58a56710912074b06bb7fb80ce6a802a6e26f324d7a5c587711634e176c5 |