Skip to main content

PyPlumIO is a native ecoNET library for Plum ecoMAX controllers

PyPI version PyPI Supported Python Versions Maintainability Code Coverage stability-release-candidate Ruff


Overview

This package aims to provide complete and easy to use solution for communicating with climate devices by Plum Sp. z o.o.

ecoMAX controllers

Currently it supports reading and writing parameters of ecoMAX controllers by Plum Sp. z o.o., getting service password and sending network information to show on controller's display.

Devices can be connected directly via RS-485 to USB adapter or through network by using RS-485 to Ethernet/WiFi converter.

RS-485 converters

Table of contents

Quickstart

  1. To use PyPlumIO, first install it using uv or pip:
uv add pyplumio
# or
pip install pyplumio
  1. Connect to the ecoMAX controller:
>>> connection = pyplumio.serial_for_url("/dev/ttyUSB0")
>>> await connection.connect()
>>> ecomax = await connection.get("ecomax")
  1. Print some values:
>>> print(await ecomax.get("heating_temp"))
  1. Don’t forget to close the connection:
>>> await connection.close()

Home Assistant Integration

There is companion Home Assistant integration that is being co-developed with this package and depends on it. Click button below to check it out.

Plum ecoMAX for Home Assistant

Development

This project uses uv for project and dependency management, and prek for Git hooks.

Setup

Install the project and development dependencies:

uv sync

Running Tests

Run the test suite with coverage enforcement (100% required):

uv run pytest

Code Quality & Formatting

Run linters, format checks, and cognitive complexity analysis:

uv run codespell
uv run ruff check .
uv run ruff format --check .
uv run complexipy . --max-complexity-allowed 15

Type Checking

Run type checking with mypy:

uv run mypy pyplumio tests

Git Hooks

Install and run Git hooks via prek:

prek install
prek run --all-files

Attribution

Special thanks to econetanalyze project by twkrol for initial information about protocol.

License

This product is distributed under MIT license.

Metadata

Release files for PyPlumIO 0.7.5

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

Source distribution (sdist)

Source distribution for PyPlumIO 0.7.5
File Size Uploaded Provenance Actions
pyplumio-0.7.5.tar.gz 117.2 kB Without provenance Details for pyplumio-0.7.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for PyPlumIO 0.7.5
File Interpreter ABI Platform Actions
pyplumio-0.7.5-py3-none-any.whl Python 3 none any Details for pyplumio-0.7.5-py3-none-any.whl

Total release size: 193.0 kB

Release files / pyplumio-0.7.5.tar.gz

Download URL pyplumio-0.7.5.tar.gz
Size 117.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b462122bacde5f038e2591555c8579d492e459112a5b4b97bf5e2fa888d53dc3
BLAKE2b-256 checksum
How to use checksums
af3b380b72274c7d3a7ed51aa8601a9a4999f786080cab2db4b6d73ca9f1b345
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pyplumio-0.7.5-py3-none-any.whl

Download URL pyplumio-0.7.5-py3-none-any.whl
Size 75.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b3df30a1a701f9225ba367bb892c8637148b8c3580418c93438cc9d58a4fbe4
BLAKE2b-256 checksum
How to use checksums
c96fda81ade9dfa639404173aa205ea16c761b8f1ac4881ac13708e6d66c09c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for PyPlumIO 0.7.5

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.7.5 This release

2 release files No 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