Skip to main content

Control Tasmota devices via their web api

Project description

Tasmota Device Controller

This packag provides async wrappers for Tasmota's web request API.

Only very few requests are implemented so far! If you need other requests, please have a look at the section Contributing, or create an issue.

get methods return the value of the fetched item, set methods return the new set value (so what the get method would return after the set). However there are some exceptions like BLINK for setPower() which always returns True, but that should be mentioned in the methods description.

Since this package was created for a Home Assistant integration, you can check out that integration for other sample usage.

Example usage:

import asyncio
from tasmotadevicecontroller import TasmotaDevice
from tasmotadevicecontroller import tasmota_types as t

async def main():
    device = await TasmotaDevice.connect('192.168.10.21')

    # Get friendly name (of first output, which is the default output)
    nameResult = await device.getFriendlyName()
    print(nameResult)  # Returns 'My Tasmota Plug'

    # Get power of first output
    getResult = await device.getPower()
    print(getResult)  # Returns True (on)

    # Set power of first output to on
    setResult = await device.setPower(t.PowerType.TOGGLE)
    print(setResult)  # Returns True or False (depending if the device was switched on or off)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Contributing

If you want to add new requests, can implement these commands and create a merge request on GitHub.

Almost every command is implemented as one getter method and one setter method. Add your command if possible in the same way inside the TasmotaDevice class. Remember to add descriptions to each method. This description can usually be taken from the Tasmota wiki.
Also, remember to always use async await!

If the command takes values from a specific set of values, create an Enum inside tasmota_types.py for it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tasmotadevicecontroller-0.0.5.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

tasmotadevicecontroller-0.0.5-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file tasmotadevicecontroller-0.0.5.tar.gz.

File metadata

  • Download URL: tasmotadevicecontroller-0.0.5.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tasmotadevicecontroller-0.0.5.tar.gz
Algorithm Hash digest
SHA256 0487efd3c8c04ee76a9dfd9f0455da5be3bed17d145a51db7bd971be9c9bd62d
MD5 bc79fb4288c817bd42dabe23461aab5d
BLAKE2b-256 4bfbed9f881f7cc6b804892854296e28eb13643ade9f0e930a78cf41d06f7f7b

See more details on using hashes here.

File details

Details for the file tasmotadevicecontroller-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: tasmotadevicecontroller-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for tasmotadevicecontroller-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 62ac2541c90fb3ae21398dde9b5cf101625a1e912db1063727116445ee7477ae
MD5 2c0b8e7a09dd56beb293941842d3b5b5
BLAKE2b-256 bfc80239a6ec7d1311c2b9001198d9255f145f582941b90ef1b81e140d1a9a41

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page