Metadata-Version: 2.4
Name: ips-api-client
Version: 0.1.1
Summary: API client for IPS Controllers pool monitoring system
Home-page: https://github.com/stgarrity/ips-api-client
Author: Steve Garrity
Author-email: sgarrity@gmail.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: beautifulsoup4>=4.11.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# IPS Controllers API Client

Python client library for the IPS Controllers pool monitoring system.

## Installation

```bash
pip install ips-api-client
```

## Usage

```python
import asyncio
from ips_api import IPSClient

async def main():
    async with IPSClient("your_email@example.com", "your_password") as client:
        # Get all controllers
        controllers = await client.get_controllers()

        for controller in controllers:
            print(f"Controller: {controller.name}")
            print(f"  pH: {controller.current_reading.ph}")
            print(f"  ORP: {controller.current_reading.orp} mV")
            print(f"  Status: {controller.status}")

            # Get detailed reading
            detail = await client.get_controller_detail(controller.controller_id)
            print(f"  pH Setpoint: {detail.ph_setpoint}")
            print(f"  ORP Setpoint: {detail.orp_setpoint}")
            print(f"  pH State: {detail.ph_state}")

asyncio.run(main())
```

## Features

- Async/await support
- Automatic session management
- Support for multiple controllers
- Detailed pool chemistry readings (pH, ORP, temperature, chlorine)
- Controller status monitoring

## Data Available

- pH level
- ORP (Oxidation-Reduction Potential) in mV
- Water temperature (when available)
- Chlorine PPM (when available)
- Controller status
- Last reading timestamp
- pH setpoint and state
- ORP setpoint

## License

MIT
