{"id":15674380,"url":"https://github.com/denpamusic/pyplumio","last_synced_at":"2026-01-08T00:09:50.977Z","repository":{"id":37389442,"uuid":"445026428","full_name":"denpamusic/PyPlumIO","owner":"denpamusic","description":"PyPlumIO is a native ecoNET library for Plum ecoMAX controllers.","archived":false,"fork":false,"pushed_at":"2025-04-08T00:02:33.000Z","size":8299,"stargazers_count":16,"open_issues_count":2,"forks_count":2,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-13T05:37:38.050Z","etag":null,"topics":["econet","heating-control","heating-monitoring","home-automation","library","pypi-package","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denpamusic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-06T03:21:23.000Z","updated_at":"2025-04-08T00:02:14.000Z","dependencies_parsed_at":"2024-07-19T23:57:16.679Z","dependency_job_id":"76a1a603-e363-45d1-9aa7-db9eb2639a3f","html_url":"https://github.com/denpamusic/PyPlumIO","commit_stats":{"total_commits":1205,"total_committers":2,"mean_commits":602.5,"dds":0.08381742738589215,"last_synced_commit":"04657ebb63a3fc5e31d59d8a944f79d6784be3b3"},"previous_names":[],"tags_count":140,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denpamusic%2FPyPlumIO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denpamusic%2FPyPlumIO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denpamusic%2FPyPlumIO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denpamusic%2FPyPlumIO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denpamusic","download_url":"https://codeload.github.com/denpamusic/PyPlumIO/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670505,"owners_count":21142897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["econet","heating-control","heating-monitoring","home-automation","library","pypi-package","python3"],"created_at":"2024-10-03T15:44:14.430Z","updated_at":"2025-10-16T16:46:41.095Z","avatar_url":"https://github.com/denpamusic.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyPlumIO is a native ecoNET library for Plum ecoMAX controllers\n\n[![PyPI version](https://badge.fury.io/py/PyPlumIO.svg)](https://badge.fury.io/py/PyPlumIO)\n[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/pyplumio.svg)](https://pypi.python.org/pypi/pyplumio/)\n[![PyPlumIO CI](https://github.com/denpamusic/PyPlumIO/actions/workflows/ci.yml/badge.svg)](https://github.com/denpamusic/PyPlumIO/actions/workflows/ci.yml)\n[![Maintainability](https://qlty.sh/gh/denpamusic/projects/PyPlumIO/maintainability.svg)](https://qlty.sh/gh/denpamusic/projects/PyPlumIO)\n[![Code Coverage](https://qlty.sh/gh/denpamusic/projects/PyPlumIO/coverage.svg)](https://qlty.sh/gh/denpamusic/projects/PyPlumIO)\n[![stability-release-candidate](https://img.shields.io/badge/stability-pre--release-48c9b0.svg)](https://guidelines.denpa.pro/stability#release-candidate)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n## Overview\n\nThis package aims to provide complete and easy to use solution for\ncommunicating with climate devices by [Plum Sp. z o.o.](https://www.plum.pl/)\n\n![ecoMAX controllers](https://raw.githubusercontent.com/denpamusic/PyPlumIO/main/images/ecomax.png)\n\nCurrently it supports reading and writing parameters of ecoMAX controllers by\nPlum Sp. z o.o., getting service password and sending network information to\nshow on controller's display.\n\nDevices can be connected directly via RS-485 to USB adapter or\nthrough network by using RS-485 to Ethernet/WiFi converter.\n\n![RS-485 converters](https://raw.githubusercontent.com/denpamusic/PyPlumIO/main/images/rs485.png)\n\n## Table of contents\n\n- [Connecting](https://pyplumio.denpa.pro/connecting.html)\n- [Reading](https://pyplumio.denpa.pro/reading.html)\n- [Writing](https://pyplumio.denpa.pro/writing.html)\n- [Callbacks](https://pyplumio.denpa.pro/callbacks.html)\n- [Mixers/Thermostats](https://pyplumio.denpa.pro/mixers_thermostats.html)\n- [Schedules](https://pyplumio.denpa.pro/schedules.html)\n- [Protocol](https://pyplumio.denpa.pro/protocol.html)\n  - [Frame Structure](https://pyplumio.denpa.pro/protocol.html#frame-structure)\n  - [Requests and Responses](https://pyplumio.denpa.pro/protocol.html#requests-and-responses)\n  - [Communication](https://pyplumio.denpa.pro/protocol.html#communication)\n  - [Versioning](https://pyplumio.denpa.pro/protocol.html#versioning)\n- [Supported frames](https://pyplumio.denpa.pro/frames.html)\n\n## Quickstart\n\n1. To use PyPlumIO, first install it using pip:\n\n```bash\npip install pyplumio\n```\n\n2. Connect to the ecoMAX controller:\n\n```python\n\u003e\u003e\u003e connection = pyplumio.open_serial_connection(\"/dev/ttyUSB0\")\n\u003e\u003e\u003e await connection.connect()\n\u003e\u003e\u003e ecomax = await connection.get(\"ecomax\")\n```\n\n3. Print some values:\n\n```python\n\u003e\u003e\u003e print(await ecomax.get(\"heating_temp\"))\n```\n\n4. Don’t forget to close the connection:\n\n```python\n\u003e\u003e\u003e await connection.close()\n```\n\n## Home Assistant Integration\n\nThere is companion Home Assistant integration that is being co-developed with\nthis package and depends on it. Click button below to check it out.\n\n[![Plum ecoMAX for Home Assistant](https://img.shields.io/badge/Plum%20ecoMAX%20for%20Home%20Assistant-41bdf5)](https://github.com/denpamusic/homeassistant-plum-ecomax)\n\n## Attribution\n\nSpecial thanks to [econetanalyze](https://github.com/twkrol/econetanalyze)\nproject by twkrol for initial information about protocol.\n\n## License\n\nThis product is distributed under MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenpamusic%2Fpyplumio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenpamusic%2Fpyplumio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenpamusic%2Fpyplumio/lists"}