Metadata-Version: 2.4
Name: python-siseli
Version: 0.1.2
Summary: Python SDK for Siseli Cloud
License: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.27
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: respx>=0.21; extra == "dev"

# python-siseli

Python SDK for [Siseli Cloud](https://solar.siseli.com).

## Installation

```bash
pip install python-siseli
```

## Quick start

```python
import asyncio
from siseli import SiseliClient

async def main():
    async with SiseliClient("user@example.com", "secret", timezone="Europe/Warsaw") as client:
        # Discover devices
        devices = await client.get_devices()
        device = devices[0]
        print(f"Device: {device.name} ({device.id})")

        # Latest telemetry
        state = await client.get_device_state(device.id)
        grid = state.get("gridVoltage")
        if grid:
            print(f"Grid voltage: {grid.value_display} {grid.unit}")

        # Energy flow diagram
        flow = await client.get_energy_flow(device.id)
        if flow.battery:
            print(f"Battery: {flow.battery.value.value_display} {flow.battery.value.unit}")

asyncio.run(main())
```

## Development plan

See [`roadmap.md`](roadmap.md) for the full development plan.

## API documentation

See [`docs/api.md`](docs/api.md).
