python-kasa/docs/source/guides.md
Steven B be5202ccb7
Make device initialisation easier by reducing required imports (#936)
Adds username and password arguments to discovery to remove the need to import Credentials.
Creates TypeAliases in Device for connection configuration classes and DeviceType.
Using the API with these changes will only require importing either Discover or Device
depending on whether using Discover.discover() or Device.connect() to 
initialize and interact with the API.
2024-06-03 19:06:54 +01:00

1.3 KiB

How-to Guides

This page contains guides of how to perform common actions using the library.

Discover devices

.. automodule:: kasa.discover
    :noindex:

Connect without discovery

.. automodule:: kasa.deviceconfig
    :noindex:

Get Energy Consumption and Usage Statistics

:::{note} In order to use the helper methods to calculate the statistics correctly, your devices need to have correct time set. The devices use NTP and public servers from NTP Pool Project to synchronize their time. :::

Energy Consumption

The availability of energy consumption sensors depend on the device. While most of the bulbs support it, only specific switches (e.g., HS110) or strips (e.g., HS300) support it. You can use {attr}~Device.has_emeter to check for the availability.

Usage statistics

You can use {attr}~Device.on_since to query for the time the device has been turned on. Some devices also support reporting the usage statistics on daily or monthly basis. You can access this information using through the usage module ({class}kasa.modules.Usage):

dev = SmartPlug("127.0.0.1")
usage = dev.modules["usage"]
print(f"Minutes on this month: {usage.usage_this_month}")
print(f"Minutes on today: {usage.usage_today}")