PyPlumIO is a native ecoNET library for Plum ecoMAX controllers
Overview
This package aims to provide complete and easy to use solution for communicating with climate devices by Plum Sp. z o.o.
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.
Table of contents
Quickstart
- To use PyPlumIO, first install it using uv or pip:
uv add pyplumio
# or
pip install pyplumio
- Connect to the ecoMAX controller:
>>> connection = pyplumio.serial_for_url("/dev/ttyUSB0")
>>> await connection.connect()
>>> ecomax = await connection.get("ecomax")
- Print some values:
>>> print(await ecomax.get("heating_temp"))
- 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.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.