Skip to main content

A client for communicating with Blauberg vento (and derived) ventilators.

Project description

Introduction

This is a Python module for communicating with a Blauberg Vento (and OEMS like Duka One S6w). The Blauberg Vento is a one room ventilationsystem with a heat exchanger.

This module has roots in the dukaonesdk but has been rewritten from scratch in order to better separate responsibilities into different classes, while still being able to reuse shared logic.

The primary goal for this module is to create a Python client that makes communicating with Blauberg Vento(and its derivatives) a simple task.

Installation

python3 -m pip install blaubergvento_client

The module has the following 2 levels of communication:

  1. A low level client that implements the communication protocol specified by Blauberg.
  2. A high level client that utilizes the protocol client for easier usage.

Protocol Client Example

async def main():
    resource = Client()

    # 1. List devices (first page, 20 per page)
    devices = await resource.find_all(page=0, size=20)
    print(f"Total devices returned: {len(devices)}")
    for device in devices:

        print(f"Device ID: {device.id}, IP: Do-no, Mode: {device.mode}, Speed: {device.speed}")

    # 2. Find a specific device by ID
    device_id = devices[0].id if devices else None
    if device_id:
        device = await resource.find_by_id(device_id)
        print(f"\nDetails of device {device_id}: Mode={device.mode}, Speed={device.speed}")

        # 3. Modify device properties and save
        device.speed = Speed.HIGH
        updated_device = await resource.save(device)
        print(f"Updated device speed: {updated_device.speed}")

if __name__ == "__main__":
    asyncio.run(main())

High Level Example

async def main():
    print("Searching for Blauberg Vento devices on the network...")

    client = ProtocolClient(timeout=2.0)  # Increase timeout if needed
    devices = await client.find_devices()

    if not devices:
        print("No devices found.")
    else:
        print(f"Found {len(devices)} device(s):")
        for idx, device in enumerate(devices, start=1):
            print(f"{idx}. ID: {device.id}, IP: {device.ip}")

if __name__ == "__main__":
    asyncio.run(main())

You can see the documentation from Blauberg here

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

blaubergvento_client-1.0.0.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

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

blaubergvento_client-1.0.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file blaubergvento_client-1.0.0.tar.gz.

File metadata

  • Download URL: blaubergvento_client-1.0.0.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for blaubergvento_client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 889d54e27fe09ed56279715550f4264a0170d937a1fd963a6115346067f42af9
MD5 76549bafe33f41202c850e67343bd243
BLAKE2b-256 e87efeaeb89cfdcead6b8b313e1d05f9dadb99b89d74d9796756e3b7dd20fa36

See more details on using hashes here.

Provenance

The following attestation bundles were made for blaubergvento_client-1.0.0.tar.gz:

Publisher: python-publish.yml on michaelkrog/blaubergvento-python

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

File details

Details for the file blaubergvento_client-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for blaubergvento_client-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25588e33b160a16ea50f8cc5a2bb83f58ead781c2703cfb08991ebc81b2037c5
MD5 918eb9381b75002672b8bbfd237c5999
BLAKE2b-256 7fb81e6d573f47d96b9030b26d1e95dd2b5eba7b6d752cdb520ee7da1561037c

See more details on using hashes here.

Provenance

The following attestation bundles were made for blaubergvento_client-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on michaelkrog/blaubergvento-python

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