Metadata-Version: 2.4
Name: aiohusqvarna
Version: 0.1.0
Summary: Async Python client for the Husqvarna Automower Connect API v1
Project-URL: Homepage, https://github.com/kayloehmann/ha-gardena-smart-system
Project-URL: Source, https://github.com/kayloehmann/ha-gardena-smart-system/tree/main/aiohusqvarna
Project-URL: Issues, https://github.com/kayloehmann/ha-gardena-smart-system/issues
License: Apache-2.0
Keywords: asyncio,automower,gardena,homeassistant,husqvarna
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Home Automation
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: aiogardenasmart>=0.1.9
Requires-Dist: aiohttp>=3.14.1
Provides-Extra: dev
Requires-Dist: aioresponses>=0.7.9; extra == 'dev'
Requires-Dist: mypy>=2.2.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.4.0; extra == 'dev'
Requires-Dist: pytest-cov>=7.1.0; extra == 'dev'
Requires-Dist: pytest>=9.1.1; extra == 'dev'
Requires-Dist: ruff>=0.15.21; extra == 'dev'
Description-Content-Type: text/markdown

# aiohusqvarna

Async Python client for the [Husqvarna Automower Connect API v1](https://developer.husqvarnagroup.cloud/apis/automower-connect-api).

Built for and maintained alongside the
[`gardena_smart_system_ng`](https://github.com/kayloehmann/ha-gardena-smart-system)
Home Assistant integration, which uses it together with its sibling library
[`aiogardenasmart`](https://pypi.org/project/aiogardenasmart/) (GARDENA smart system API v2).
It shares the GARDENA OAuth2 authentication layer, so a single Husqvarna developer
application can drive both Automower and GARDENA devices.

> **Not to be confused with [`aioautomower`](https://pypi.org/project/aioautomower/).**
> That is a separate, unrelated project by Thomas55555, used by Home Assistant's
> built-in `husqvarna_automower` integration. The two libraries have different APIs
> and are not drop-in replacements for each other. This package was renamed from an
> internal `aioautomower` module precisely to remove that collision.

## Installation

```bash
pip install aiohusqvarna
```

## Usage

```python
import aiohttp
from aiogardenasmart.auth import GardenaAuth
from aiohusqvarna import AutomowerClient

async with aiohttp.ClientSession() as session:
    auth = GardenaAuth(client_id, client_secret, session)
    client = AutomowerClient(auth, session)

    mowers = await client.async_get_mowers()
    for mower in mowers:
        print(mower.name, mower.state)
```

A WebSocket client for real-time status updates is available via
`aiohusqvarna.websocket`.

## Features

- Automower Connect REST API v1 (mower list, status, commands)
- Real-time updates over the Automower Connect WebSocket
- Typed models (`py.typed`, mypy strict)
- Shared OAuth2 auth with `aiogardenasmart`

## License

Apache-2.0
