Metadata-Version: 2.1
Name: aiorobonect
Version: 1.0.8
Summary: Module to communicate to the Robonect API
Home-page: https://github.com/geertmeersman/aiorobonect
Author: Geert Meersman
Author-email: geertmeersman@gmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp
Requires-Dist: pip <24.1,>=8.0.3
Requires-Dist: ruff ==0.4.7

# aiorobonect

Asynchronous library to communicate with the Robonect API

[![maintainer](https://img.shields.io/badge/maintainer-Geert%20Meersman-green?style=for-the-badge&logo=github)](https://github.com/geertmeersman)
[![buyme_coffee](https://img.shields.io/badge/Buy%20me%20an%20Omer-donate-yellow?style=for-the-badge&logo=buymeacoffee)](https://www.buymeacoffee.com/geertmeersman)
[![discord](https://img.shields.io/discord/1094198226493636638?style=for-the-badge&logo=discord)](https://discord.gg/f6qxuMA4)

[![MIT License](https://img.shields.io/github/license/geertmeersman/miwa?style=flat-square)](https://github.com/geertmeersman/miwa/blob/master/LICENSE)

[![GitHub issues](https://img.shields.io/github/issues/geertmeersman/aiorobonect)](https://github.com/geertmeersman/aiorobonect/issues)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/geertmeersman/aiorobonect.svg)](http://isitmaintained.com/project/geertmeersman/aiorobonect)
[![Percentage of issues still open](http://isitmaintained.com/badge/open/geertmeersman/aiorobonect.svg)](http://isitmaintained.com/project/geertmeersman/aiorobonect)
[![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg)](https://github.com/geertmeersman/aiorobonect/pulls)

[![Python](https://img.shields.io/badge/Python-FFD43B?logo=python)](https://github.com/geertmeersman/aiorobonect/search?l=python)

[![github release](https://img.shields.io/github/v/release/geertmeersman/aiorobonect?logo=github)](https://github.com/geertmeersman/aiorobonect/releases)
[![github release date](https://img.shields.io/github/release-date/geertmeersman/aiorobonect)](https://github.com/geertmeersman/aiorobonect/releases)
[![github last-commit](https://img.shields.io/github/last-commit/geertmeersman/aiorobonect)](https://github.com/geertmeersman/aiorobonect/commits)
[![github contributors](https://img.shields.io/github/contributors/geertmeersman/aiorobonect)](https://github.com/geertmeersman/aiorobonect/graphs/contributors)
[![github commit activity](https://img.shields.io/github/commit-activity/y/geertmeersman/aiorobonect?logo=github)](https://github.com/geertmeersman/aiorobonect/commits/main)

## API Example

```python
"""Test for aiorobonect."""
from aiorobonect import RobonectClient

import asyncio
import httpx
import logging

logging.basicConfig(level=logging.INFO)
_LOGGER = logging.getLogger("aiorobonect")
_LOGGER.setLevel(logging.DEBUG)

async def main():
    host = "10.0.0.99"       ## The Robonect mower IP
    username = "USERNAME"    ## Your Robonect username
    password = "xxxxxxxx"    ## Your Robonect password
    tracking = [             ## Commands to query
                "battery",
                "clock",
                "door",
                "error",
                "ext",
                "gps",
                "health",
                "hour",
                "motor",
                "portal",
                "push",
                "remote",
                "report",
                "status",
                "timer",
                "version",
                "weather",
                "wlan",
                "wire"
            ]
    client = RobonectClient(host, username, password)
    try:
        status = await client.async_cmd("status")
        print(f"Status: {status}")
        tracking = await client.async_cmds(tracking)
        print(f"Tracking: {tracking}")
    except Exception as exception:
        if isinstance(exception, httpx.HTTPStatusError):
            print(exception)
    await client.client_close()

asyncio.run(main())
```
