mirror of
https://github.com/python-kasa/python-kasa.git
synced 2024-12-23 19:53:34 +00:00
0d84d8785e
Co-authored-by: Teemu R. <tpr@iki.fi>
49 lines
991 B
Python
49 lines
991 B
Python
"""Interact with child devices.
|
|
|
|
>>> from kasa import Discover
|
|
>>>
|
|
>>> dev = await Discover.discover_single(
|
|
>>> "127.0.0.1",
|
|
>>> username="user@example.com",
|
|
>>> password="great_password"
|
|
>>> )
|
|
>>> await dev.update()
|
|
>>> print(dev.alias)
|
|
Bedroom Power Strip
|
|
|
|
All methods act on the whole strip:
|
|
|
|
>>> for plug in dev.children:
|
|
>>> print(f"{plug.alias}: {plug.is_on}")
|
|
Plug 1: True
|
|
Plug 2: False
|
|
Plug 3: False
|
|
>>> dev.is_on
|
|
True
|
|
>>> await dev.turn_off()
|
|
>>> await dev.update()
|
|
|
|
Accessing individual plugs can be done using the `children` property:
|
|
|
|
>>> len(dev.children)
|
|
3
|
|
>>> for plug in dev.children:
|
|
>>> print(f"{plug.alias}: {plug.is_on}")
|
|
Plug 1: False
|
|
Plug 2: False
|
|
Plug 3: False
|
|
>>> await dev.children[1].turn_on()
|
|
>>> await dev.update()
|
|
>>> dev.is_on
|
|
True
|
|
"""
|
|
|
|
from ..smartmodule import SmartModule
|
|
|
|
|
|
class ChildDevice(SmartModule):
|
|
"""Implementation for child devices."""
|
|
|
|
REQUIRED_COMPONENT = "child_device"
|
|
QUERY_GETTER_NAME = "get_child_device_list"
|