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-0.0.1.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-0.0.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: blaubergvento_client-0.0.1.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-0.0.1.tar.gz
Algorithm Hash digest
SHA256 bc0eeb42151e331a433cf4785665f6d936e23a766c21b1b0bf7847fd87402974
MD5 a21bd614a984cbfce620b9fe1d4af935
BLAKE2b-256 57bc4fb06a5f622b853256f94629a8d33842cc64f1b1f956076adb53c94e7960

See more details on using hashes here.

Provenance

The following attestation bundles were made for blaubergvento_client-0.0.1.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-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for blaubergvento_client-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 208fbb3a51ca8af4c97994bce78972b35d9b59927b1209953f75fddf49ea0949
MD5 55cf5b9c37377034042811382161584a
BLAKE2b-256 f005284130845de27fe0d7be455223155cd65de71371b1b19b9e9b554e47442d

See more details on using hashes here.

Provenance

The following attestation bundles were made for blaubergvento_client-0.0.1-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