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.2.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.2.0
File Size Uploaded Provenance Actions
pluggeasy_modbus-0.2.0.tar.gz 16.4 kB With provenance Details for pluggeasy_modbus-0.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 28.3 kB

Release files / pluggeasy_modbus-0.2.0.tar.gz

Download URL pluggeasy_modbus-0.2.0.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
028f4d4b1aca150c8234f72aafbf60062695db6bc10e4e2e27b3f746663f5bf2
BLAKE2b-256 checksum
How to use checksums
d38f6f43974109c7ae0cc97a308efa29803b109274af172a39db16082b13c404
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.2.0-py3-none-any.whl

Download URL pluggeasy_modbus-0.2.0-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc62b8cdab7efd15497d736368aba0ba2edf3c4ccadf54045fd2d610835ac1b4
BLAKE2b-256 checksum
How to use checksums
093282bbde5e3297f1478ca282b4cf171cb01c131d26b8451ac56557af7e6098
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.2.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.2.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.2.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