Skip to main content

Standalone Python library for communicating with Duotecno controllers

Project description

pyDuotecno-ng

pyDuotecno-ng is the standalone Python library for communicating with Duotecno controllers.

It contains the protocol and transport layer used by the Home Assistant Duotecno integration, including:

  • TCP connection management
  • controller login
  • packet encoding and decoding
  • node and unit discovery
  • state updates and command dispatch
  • JSON-based startup loading with bus-scan fallback

Scope

This repository is the backend library only. It is intentionally separate from the Home Assistant integration so the protocol code can be versioned, tested, and released independently.

If you are looking for the Home Assistant integration wrapper, use the companion integration repository that depends on this package.

Repository Layout

  • controller.py: main connection and scan orchestration
  • node.py: node model and unit loading
  • unit.py: unit classes and device behavior
  • protocol.py: packet/message definitions and parsing helpers
  • exceptions.py: backend-specific exceptions

Intended Usage

The main consumer of this library is the Duotecno Home Assistant integration. The typical flow is:

  1. create a controller
  2. connect to the Duotecno gateway
  3. load nodes and units
  4. subscribe to live state updates
  5. send commands to supported unit types

Status

This library is being maintained as a standalone public backend so it can be consumed cleanly by the Home Assistant integration and other future tooling if needed.

Releases

This repository is intended to publish tagged releases that match the PyPI package version exactly.

The PyPI distribution name is pyDuotecno-ng. The Python import package remains duotecno.

Release flow:

  1. update pyproject.toml to the new version
  2. commit the version change to main
  3. create and push a matching tag in the form vYYYY.M.N
  4. GitHub Actions builds the wheel and source distribution
  5. the workflow publishes the package to PyPI
  6. the same release artifacts are attached to the GitHub release

This matches Home Assistant expectations that:

  • the dependency source is public
  • published package versions correspond to tagged source releases
  • PyPI artifacts are built from the same tagged revision

License

This project is licensed under the Apache License 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyduotecno_ng-2026.5.1.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyduotecno_ng-2026.5.1-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file pyduotecno_ng-2026.5.1.tar.gz.

File metadata

  • Download URL: pyduotecno_ng-2026.5.1.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyduotecno_ng-2026.5.1.tar.gz
Algorithm Hash digest
SHA256 9756a01de009e927b1760c17b60f0114b1a633164161b53fc0de80d21c12c906
MD5 400f8c9b65bfaf279c0b3ef7212f9044
BLAKE2b-256 706e1a616d73b3490b795fdfc6f6296062dcc94fdebad8cb24a08a39840309f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyduotecno_ng-2026.5.1.tar.gz:

Publisher: release.yml on coorenskevin/pyDuotecno-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyduotecno_ng-2026.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pyduotecno_ng-2026.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ed90f5936773ada008c7699eaefd65b3ca4d9d5e326e45883b891a28912089d
MD5 01a81ddfbc966450fdd7d96294b25d7d
BLAKE2b-256 6d1a4607a1a524df6aac04b0c5f27a00aba7a600275bf507caf53d381980273d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyduotecno_ng-2026.5.1-py3-none-any.whl:

Publisher: release.yml on coorenskevin/pyDuotecno-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page