Metadata-Version: 2.4
Name: aiorefoss
Version: 1.0.2
Summary: Asynchronous Python library for Refoss smart devices
Author: ashionky
Author-email: ashionky <495519020@qq.com>
Project-URL: Homepage, https://github.com/ashionky/aiorefoss
Project-URL: Bug Tracker, https://github.com/ashionky/aiorefoss/issues
Project-URL: Repository, https://github.com/ashionky/aiorefoss
Keywords: refoss,homeassistant,iot,smart-home,automation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Home Automation
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: yarl>=1.9.0
Provides-Extra: fastjson
Requires-Dist: orjson>=3.9.0; extra == "fastjson"
Dynamic: author
Dynamic: license-file
Dynamic: requires-python

# aiorefoss

Asynchronous Python library for Refoss smart devices, designed for Home Assistant integration.

## Features

- Async WebSocket connection
- Device authentication support for new firmware (EM16P v3.1.11+)
- Automatic auth challenge handling
- Real-time status updates
- Device configuration management
- Cross-platform JSON support (orjson with stdlib fallback)

## Installation

```bash
pip install aiorefoss
```

With faster JSON support:
```bash
pip install aiorefoss[fastjson]
```

## Quick Start

```python
import asyncio
from aiorefoss.rpc_device.device import RpcDevice
from aiorefoss.common import process_ip_or_options

async def main():
    options = await process_ip_or_options("192.168.1.100")
    device = await RpcDevice.create(None, options)
    await device.initialize()
    print(f"Device model: {device.model}")
    print(f"Firmware version: {device.firmware_version}")
    await device.shutdown()

asyncio.run(main())
```

## Requirements

- Python 3.12+
- aiohttp
- yarl
- orjson (optional, for better performance)

## License

MIT

## Support

- Email: support@refoss.net
- Issues: https://github.com/ashionky/aiorefoss/issues
