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.6

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.6
File Size Uploaded Provenance Actions
pyplumio-0.7.6.tar.gz 117.2 kB Without provenance Details for pyplumio-0.7.6.tar.gz

Built distribution (wheel)

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

Total release size: 193.1 kB

Release files / pyplumio-0.7.6.tar.gz

Download URL pyplumio-0.7.6.tar.gz
Size 117.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fde474f24b93596119ca03805d671e67e1f08c5744d051202fe14ca0af2fe6a5
BLAKE2b-256 checksum
How to use checksums
220afd9181dbeb14275a8128903fd0a928f9b694e9985b57c7a3e737cd5ca042
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.6-py3-none-any.whl

Download URL pyplumio-0.7.6-py3-none-any.whl
Size 75.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
742f5988f2f50bf61cd17d34eb0f86a4b3e8ca3aef641e0d109ec69623b1c6c9
BLAKE2b-256 checksum
How to use checksums
7e21168b0b58d426c693d0159146ec7c12fe8d56adea75aa02240af887268e39
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.6

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.6 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