How to use this node? Blauberg-Vento

Hello everyone,
I'm a beginner in node-red. I want to control my ventilationsystem with heat recovery. I found and installed this node:

https://libraries.io/npm/@michaelkrog%2Fnode-red-contrib-blauberg-vento


In the settings I can only enter the ID of the device.

The communication via network works because the device emits a sound signal when I start the node.
You can find a description here:
https://libraries.io/npm/blaubergventojs

Unfortunately I have no idea how to start. Can anyone help me or give me a tip?

Since it doesn't even seem to have been released to npm there is not much you can do other than contact the author. Personally I would not use a node that had not been released unless I was confident of the source.

I would try anyway. I have nothing to lose. Can someone help me?

I would suggest opening an issue on the nodes GitHub Issues page asking the author ofr some documentation and help.

Ok I'll try.

Unfortunately, the author does not answer.
I edited the index file of the node:

var e,n;
e=this,
n=function(e){module.exports=function(n)
    {
    var d=new e.BlaubergVentoResource;
    n.nodes.registerType('blauberg-vento',(function(e){
        n.nodes.createNode(this,e),this.on('input',(n=>{
            this.id=e.id,null!=this.id&&(this.debug('Receieved message for device id '+this.id),d.findById(this.id).then((e=>{var i,o,t,s;
                if(null!=e){var l=n.payload;
                    e.speed=null!=(i=l.speed)?i:e.speed,e.mode=null!=(o=l.mode)?o:e.mode,
                    e.manualSpeed=null!=(t=l.manualSpeed)?t:e.manualSpeed,
                    e.on=null!=(s=l.on)?s:e.on,
                    this.debug('Sending message to device: '+e),
                    d.save(e)}else this.warn(`Device not found [id=${this.id}]`)
                }
                )
                )
                )
            }
            )
            )
                }
                    )
                    )
                }
                },
                    'object'==typeof exports&&'undefined'!=typeof module?n(require('blaubergventojs')):'function'==typeof define&&define.amd?define(['blaubergventojs'],n):n((e='undefined'!=typeof globalThis?globalThis:e||self).blaubergventojs);
//# sourceMappingURL=index.js.map

Can someone explain the code to me? Does it show how to use the node?

The communication via network works because the device emits a sound signal when I start the node.

The node appears to work but only accepts preformatted messages, you will have to create them yourself - this is not very simple. See the protocol specification
There are other people who did some heavy lifting already, if you are using mqtt, this python script might help you.

The node uses the following script:
https://github.com/michaelkrog/blaubergventojs.git
The description says:

"
The modules 2 levels of communication:
A low level client that mimics the communication protocol specified by Blauberg.
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);

"

A "test" folder can be found there. It contains four files:

https://github.com/michaelkrog/blaubergventojs/blob/main/test/blauberg-vento-client.ispecs.ts

https://github.com/michaelkrog/blaubergventojs/blob/main/test/blauberg-vento-resource.ispec.ts

https://github.com/michaelkrog/blaubergventojs/blob/main/test/packet.spec.ts

https://github.com/michaelkrog/blaubergventojs/blob/main/test/setupJest.js

Can you read something from it?

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.