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:
- A low level client that implements the communication protocol specified by Blauberg.
- 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())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc0eeb42151e331a433cf4785665f6d936e23a766c21b1b0bf7847fd87402974
|
|
| MD5 |
a21bd614a984cbfce620b9fe1d4af935
|
|
| BLAKE2b-256 |
57bc4fb06a5f622b853256f94629a8d33842cc64f1b1f956076adb53c94e7960
|
Provenance
The following attestation bundles were made for blaubergvento_client-0.0.1.tar.gz:
Publisher:
python-publish.yml on michaelkrog/blaubergvento-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blaubergvento_client-0.0.1.tar.gz -
Subject digest:
bc0eeb42151e331a433cf4785665f6d936e23a766c21b1b0bf7847fd87402974 - Sigstore transparency entry: 427446813
- Sigstore integration time:
-
Permalink:
michaelkrog/blaubergvento-python@c43e412eb5122ec7a7f5bea305511fa29eb9595c -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/michaelkrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c43e412eb5122ec7a7f5bea305511fa29eb9595c -
Trigger Event:
release
-
Statement type:
File details
Details for the file blaubergvento_client-0.0.1-py3-none-any.whl.
File metadata
- Download URL: blaubergvento_client-0.0.1-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
208fbb3a51ca8af4c97994bce78972b35d9b59927b1209953f75fddf49ea0949
|
|
| MD5 |
55cf5b9c37377034042811382161584a
|
|
| BLAKE2b-256 |
f005284130845de27fe0d7be455223155cd65de71371b1b19b9e9b554e47442d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blaubergvento_client-0.0.1-py3-none-any.whl -
Subject digest:
208fbb3a51ca8af4c97994bce78972b35d9b59927b1209953f75fddf49ea0949 - Sigstore transparency entry: 427446829
- Sigstore integration time:
-
Permalink:
michaelkrog/blaubergvento-python@c43e412eb5122ec7a7f5bea305511fa29eb9595c -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/michaelkrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c43e412eb5122ec7a7f5bea305511fa29eb9595c -
Trigger Event:
release
-
Statement type: