# 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" 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
## License
MIT
Raw data
{
"_id": null,
"home_page": "https://github.com/stgarrity/ips-api-client",
"name": "ips-api-client",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "ips, pool, chemistry, monitoring, home-assistant",
"author": "Steve Garrity",
"author_email": "Steve Garrity <sgarrity@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/95/10/016246db1f43b2f5f9ed9bd7f8d4da079d45d8a763f263a45ff3a3cf2d1b/ips_api_client-0.1.0.tar.gz",
"platform": null,
"description": "# IPS Controllers API Client\n\nPython client library for the IPS Controllers pool monitoring system.\n\n## Installation\n\n```bash\npip install ips-api-client\n```\n\n## Usage\n\n```python\nimport asyncio\nfrom ips_api import IPSClient\n\nasync def main():\n async with IPSClient(\"your_email@example.com\", \"your_password\") as client:\n # Get all controllers\n controllers = await client.get_controllers()\n\n for controller in controllers:\n print(f\"Controller: {controller.name}\")\n print(f\" pH: {controller.current_reading.ph}\")\n print(f\" ORP: {controller.current_reading.orp} mV\")\n print(f\" Status: {controller.status}\")\n\n # Get detailed reading\n detail = await client.get_controller_detail(controller.controller_id)\n print(f\" pH Setpoint: {detail.ph_setpoint}\")\n print(f\" pH State: {detail.ph_state}\")\n\nasyncio.run(main())\n```\n\n## Features\n\n- Async/await support\n- Automatic session management\n- Support for multiple controllers\n- Detailed pool chemistry readings (pH, ORP, temperature, chlorine)\n- Controller status monitoring\n\n## Data Available\n\n- pH level\n- ORP (Oxidation-Reduction Potential) in mV\n- Water temperature (when available)\n- Chlorine PPM (when available)\n- Controller status\n- Last reading timestamp\n- pH setpoint and state\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Async Python client for IPS Controllers pool monitoring system",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://github.com/stgarrity/ips-api-client#readme",
"Homepage": "https://github.com/stgarrity/ips-api-client",
"Issues": "https://github.com/stgarrity/ips-api-client/issues",
"Repository": "https://github.com/stgarrity/ips-api-client"
},
"split_keywords": [
"ips",
" pool",
" chemistry",
" monitoring",
" home-assistant"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ded174932dc7fcb1235fefabf522876149011216a0ae07d40fa7a117d59bde2e",
"md5": "cad982a5c673f91361c4ae8e64811f29",
"sha256": "db2653ec15d8b0271f747a8cf9185116e3b60103923e9876af435dec9116fc15"
},
"downloads": -1,
"filename": "ips_api_client-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cad982a5c673f91361c4ae8e64811f29",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 9188,
"upload_time": "2025-10-21T23:27:40",
"upload_time_iso_8601": "2025-10-21T23:27:40.094656Z",
"url": "https://files.pythonhosted.org/packages/de/d1/74932dc7fcb1235fefabf522876149011216a0ae07d40fa7a117d59bde2e/ips_api_client-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9510016246db1f43b2f5f9ed9bd7f8d4da079d45d8a763f263a45ff3a3cf2d1b",
"md5": "ae477b7864d3179d83c04d31b8ff7c33",
"sha256": "97c6d59cbd4cadbaa192fe761d20a86d7f207de56d4d1f93a92ebf7a9679e9f5"
},
"downloads": -1,
"filename": "ips_api_client-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "ae477b7864d3179d83c04d31b8ff7c33",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 10101,
"upload_time": "2025-10-21T23:27:41",
"upload_time_iso_8601": "2025-10-21T23:27:41.399833Z",
"url": "https://files.pythonhosted.org/packages/95/10/016246db1f43b2f5f9ed9bd7f8d4da079d45d8a763f263a45ff3a3cf2d1b/ips_api_client-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-21 23:27:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stgarrity",
"github_project": "ips-api-client",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
">=",
"3.8.0"
]
]
},
{
"name": "beautifulsoup4",
"specs": [
[
">=",
"4.11.0"
]
]
}
],
"lcname": "ips-api-client"
}