Skip to main content

module to communicate to Husqvarna Automower API

Project description

Aioautomower

Asynchronous library to communicate with the Automower Connect API

This library is under development.

from aioautomower import GetAccessToken, GetMowerData
from aiohttp import ClientError
from aiohttp.client_exceptions import ClientConnectorError
import asyncio

api_key = "12345678-abcd-1234-a1a1-efghijklmnop" ## Your API-Key
username = "username" ## Your username
password = "password" ## Your password


class Example_Token:
    """Returns the access token as dict."""
    def __init__(self, api_key, username, password):
        self.api_key = api_key
        self.username = username
        self.password = password

    async def token(self):
        try:
            get_token = GetAccessToken(
                self.api_key,
                self.username,
                self.password,
            )
            access_token_raw = await get_token.async_get_access_token()
        except (ClientConnectorError, ClientError):
            raise KeyError
        return access_token_raw

class Mower_Data:
    """Returns the data of all mowers as dict."""
    def __init__(self, api_key, access_token, provider, token_type):
        self.api_key = api_key
        self.access_token = access_token
        self.provider = provider
        self.token_type = token_type

    async def mowers(self):
        try:
            get_mower_data = GetMowerData(
                self.api_key,
                self.access_token,
                self.provider,
                self.token_type,
            )
            mower_data = await get_mower_data.async_mower_state()
        except (ClientConnectorError, ClientError):
            return "Make sure, you are connected to the Authentication API and the Automower API"
        return mower_data

example = Example_Token(api_key, username, password)
token_output = asyncio.run(example.token())
print(token_output)

access_token = token_output["access_token"]
provider = token_output["provider"]
token_type = token_output["token_type"]

example2 = Mower_Data(api_key, access_token, provider, token_type)
mower_output = asyncio.run(example2.mowers())
print(mower_output)

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

aioautomower-2021.4.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aioautomower-2021.4.0-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file aioautomower-2021.4.0.tar.gz.

File metadata

  • Download URL: aioautomower-2021.4.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for aioautomower-2021.4.0.tar.gz
Algorithm Hash digest
SHA256 5688818581a59310103b8d70ed7d471c22eb0ffe32570cbe4672897aacfab7dd
MD5 fcbe3ee7c664a9e20badc3d55362c35b
BLAKE2b-256 3b79203daa09b333336c7082e853cbdf5029b6fb6781f0fcedd51ea9b99b16d5

See more details on using hashes here.

File details

Details for the file aioautomower-2021.4.0-py3-none-any.whl.

File metadata

  • Download URL: aioautomower-2021.4.0-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for aioautomower-2021.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05f1b1b0fa08cb87df3d5c6107a64aa0369596a238006cab2c981f93b7db4da5
MD5 f7f8d41333e4daa11ec240052869fdca
BLAKE2b-256 25c93bc132ba301d774eee9922a4ae62e92cebb8c571b07a4143ddba866b696c

See more details on using hashes here.

Supported by

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