Skip to main content

pluggeasy-modbus Python library

CI PyPI Python License

pluggeasy-modbus is an asynchronous Python library for reading from and writing to a Pluggeasy ventilation / heat-recovery unit over Modbus.

Purpose and scope of this library

The library pluggeasy-modbus:

  • is intended for operational monitoring and control of a Pluggeasy HRV (heat-recovery ventilation) unit. It covers the full register and coil map exposed by the unit's Modbus interface.
  • contains the device-specific data model. It knows the available registers and coils, their data types and metadata (unit, scale), and provides safe grouped reads and validated coil writes.
  • does NOT create or own the Modbus transport. Applications utilizing the library provide a modbus_connection.ModbusUnit and may use any backend supported by modbus-connection (pymodbus, tmodbus, …).

Data provided by the library

pluggeasy-modbus exposes four component groups:

  • Status — 11 read-only discrete-input flags: active alarms, filter alarm, sensor faults, fan faults, bypass active, boost states. The boost_active property correctly inverts the raw register value (register 10030: 0 = boost active).
  • Controls — 5 writable coils: manual bypass, allow automatic bypass, summer mode, manual boost, snooze mode.
  • Measurements — 21 read-only input-register sensors: air temperatures (extract, exhaust, outdoor, supply), relative humidity (4 channels), motor voltages and RPMs, bypass damper position, VOC, and four human-readable enum sensors (actual working mode, defrost status, communication error, bypass damper position).
  • Parameters — 8 read/write holding-register values: bypass temperature thresholds, selected airflow (writable speed preset), manual bypass timer, and Modbus communication settings.

Neutral datapoint metadata such as unit and scale lives on the field descriptors — the model IS the datasheet.

Enums

The library defines five IntEnum classes in pluggeasy_modbus.enums:

Enum Field Values
SelectedAirflow parameters.selected_airflow (writable) LOW, MEDIUM, NOMINAL, AUTO, SNOOZE
ActualWorkingMode measurements.actual_working_mode SNOOZE, LOW, MEDIUM, HIGH, BOOST, AUTO_HUMIDITY, AUTO_VOC, AUTO_0_10V, BOOST_IN_AUTO, WEEKLY_1–WEEKLY_4
DefrostStatus measurements.defrost_status NOT_ACTIVE, FIREPLACE_DEFROST, WITH_PRE_HEATER, UNBALANCED_AIRFLOWS
CommunicationError measurements.communication_error NO_ERROR, REMOTE_CONTROLLER, MODBUS_RTU
BypassDamperPosition measurements.bypass_damper_position CLOSED, OPEN, ERROR

Write API

# Set ventilation speed preset
await device.parameters.write("selected_airflow", SelectedAirflow.AUTO)

# Toggle boost mode
await device.async_set_boost(True)

# Reset filter alarm (momentary write)
await device.async_reset_filter_alarm()

Supported device

Device Notes
Pluggeasy ventilation / HRV unit Single fixed station address (slave 1), TCP port 8899

Testing and validation

All register decoding is validated against an in-memory mock backend — no real hardware is required to run the test suite:

PYTHONPATH=src python -m pytest

The mock backend ships with modbus-connection and is imported explicitly in tests/conftest.py (no pytest entry-point autoloading).

Documentation and development

Architecture, usage examples, development setup, and branch workflow are documented in the project wiki.


Support for the Home Assistant integration is maintained separately in pluggeasy-core (HA core integration) and pluggeasy-hacs (HACS custom integration).

Metadata

Release files for pluggeasy-modbus 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pluggeasy-modbus 0.3.0
File Size Uploaded Provenance Actions
pluggeasy_modbus-0.3.0.tar.gz 17.8 kB With provenance Details for pluggeasy_modbus-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pluggeasy-modbus 0.3.0
File Interpreter ABI Platform Actions
pluggeasy_modbus-0.3.0-py3-none-any.whl Python 3 none any Details for pluggeasy_modbus-0.3.0-py3-none-any.whl

Total release size: 30.4 kB

Release files / pluggeasy_modbus-0.3.0.tar.gz

Download URL pluggeasy_modbus-0.3.0.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1297d622e571d23babb707333e23fc973b18cd97a3a9be1cfe9c1a91805823ef
BLAKE2b-256 checksum
How to use checksums
81210402fd3fbfde132deab32619bf7ee5a6ff4c360831eeb6e8e48e9de25444
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release files / pluggeasy_modbus-0.3.0-py3-none-any.whl

Download URL pluggeasy_modbus-0.3.0-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c67671db0051f4d1993abf2515636f1ba7ca9851e317f28f1c2a8f20cd1b938b
BLAKE2b-256 checksum
How to use checksums
bd08f4bf07d45efd1b5d35186258be879285f7e71a40183e6d6f8ddec4b5e36c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Security for pluggeasy-modbus 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pluggeasy_modbus-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page