Skip to main content

Async Python client for Sugar Valley NeoPool / VistaPool / Hidrolife Modbus pool controllers

Project description

neopool-modbus

PyPI Python License CI

Async Python client for Sugar Valley NeoPool pool controllers (sold under brands VistaPool, Hidrolife, Aquascenic, Oxilife, Hayward, Brilix, Bayrol) connected via Modbus TCP.

This library is the communication layer extracted from the Home Assistant neopool integration and is suitable for any Python project — Home Assistant, scripts, dashboards, or custom automation.

Status

🚧 Alpha — under active development. Public API may change before 1.0.0.

Installation

pip install neopool-modbus

Requires Python 3.13+ and pymodbus>=3.10.0.

Quick start

import asyncio

from neopool_modbus import NeoPoolModbusClient


async def main() -> None:
    client = NeoPoolModbusClient(host="192.168.1.42", port=502, slave_id=1)
    await client.connect()
    try:
        data = await client.read_all()
        print(data["measure_temperature"], data["measure_ph"])
    finally:
        await client.close()


asyncio.run(main())

Features

  • Async I/O on top of pymodbus.AsyncModbusTcpClient
  • Batched register reads (single round-trip per register block)
  • Write-and-verify mechanism for configuration registers
  • Capability detection (hydrolysis, pH, Redox, chlorine, conductivity)
  • Strict type hints (py.typed), 100 % test coverage

License

Apache 2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neopool_modbus-0.2.0.tar.gz (49.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neopool_modbus-0.2.0-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file neopool_modbus-0.2.0.tar.gz.

File metadata

  • Download URL: neopool_modbus-0.2.0.tar.gz
  • Upload date:
  • Size: 49.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neopool_modbus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d7dfcab478c574dc79a2c3d3faf8391caca6af8cc7ed6b8736ca11279e245e5a
MD5 0c8e5cab97029c52ea6a779108425053
BLAKE2b-256 d981382ba97cf905e1453bad533c14090f2a754d2dcd2b0cd29dd670577116c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for neopool_modbus-0.2.0.tar.gz:

Publisher: release.yaml on Svasek/python-neopool-modbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neopool_modbus-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: neopool_modbus-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neopool_modbus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51e6e88b71f1b93fa3cce33e341629663b66ba04f53c29a570a4279984914610
MD5 4625ddf17007920a0acf467b35da6c6b
BLAKE2b-256 35603d671e98e1fc61bcc2fd17f5547fe48f3a27f6283fa4d47c94ec0de76749

See more details on using hashes here.

Provenance

The following attestation bundles were made for neopool_modbus-0.2.0-py3-none-any.whl:

Publisher: release.yaml on Svasek/python-neopool-modbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page