Skip to content

VBus Data Primitives

This section describes the different VBus data primitives.

According to the VBus Protocol Specification there are currently three different versions of VBus data primitives:

Since all three primitives share the same first 6 bytes as the general VBus header, their classes all extend from the abstract Header class.

See Header class API for details.

Version 1 Packets

Packets are sent regularly by the controller and other attached modules to exchange information like temperatures, output and balance values, status etc.

Packets consist of a header and up to 127 frames of payload data containing 4 bytes of payload per frame.

See Packet class API for details.

The structure of this payload is dependent on the destination address, source address and command stored in the packet header. RESOL publishes a "VBus Specification File (VSF)" which can be used to decode the payload. The Specification class can be used to parse and use the VSF.

See Specification class API for details.

Version 2 Datagrams

Datagrams are used to issue commands to a controller. They can be used to get or set menu parameters etc.

See Datagram class API for details.

Version 3 Telegrams

Telegrams are used in communication between a controller and a sensor or actor. Telegrams (like Version 1 Packets) can have optional payload in frames, although Telegrams only support up to 3 frames with 7 bytes of payload per frame, providing better throughput for smaller pieces of information.

See Telegram class API for details.

HeaderSet

The HeaderSet class stores a set of unique Header instances (Packet, Datagram and Telegram instances). If a Header is added but the set already contains a Header with the same fingerprint (normally the same channel, addresses, version and command), the new Header replaces the old one.

See HeaderSet class API for details.