This is a Javascript module with Typescript support for communicating with a Blauberg Vento (and OEMS like Duka One S6w). The Blauberg Vento is a one room ventilationsystem with a heat exchanger.
npm install blaubergopenhabjs
npm i blaubergventojs
`
The module has the following 2 levels of communication:
1. A low level client that mimics the communication protocol specified by Blauberg.
2. A high level resource that wraps the low level client for easier usage.
Low level Example
`
import { BlaubergVentoClient, FunctionType, Parameter, DataEntry } from 'blaugbergventojs'
const client = new BlaubergVentoClient();
// Find all devices on the local network
const addresses = await client.findDevices();
// Assemble package for reading ON_OFF state
const packet = new Packet(addresses[0].id, '1111', FunctionType.READ, [DataEntry.of(Parameter.ON_OFF)])
// Send package and wait for response.
const response = await client.send(packet, addresses[0].ip);
// Check value
const isOn = response.packet.dataEntries[0].value === 1;
`
High Level Example
`
import { BlaubergVentoResource, FunctionType, Parameter, DataEntry } from 'blaugbergventojs'
const resource = new BlaubergVentoResource();
// Find all devices on the local network
const devices = await resource.findAll();
// Change a device and save it
let device = devices.contents[0];
device.speed = 1;
device = await resource.save(device);
``