Receiving and Sending Raw EnOcean Telegrams

This article aims to explain how raw EnOcean telegrams can be sent and received within MobiusFlow. The article briefly covers the supported telegram types and illustrates how these types affect the setup of a given flow.

Receiving

Overview

EnOcean telegrams can be received and injected into a given flow using the Subscribe to Broadcast Command node, labeled 'sub bcmd'. This node is shown below.

Within the node's configuration, you can specify a Mobius Command ID. This Command ID controls which type of incoming telegrams the node receives.

Once an incoming telegram of the specified type is detected by the sub bcmd node, the node will forward this telegram out of its output.

Command Types

The table below shows which Command ID entries relate to which telegram types. The table also shows screenshots of each Command ID being used within the sub bcmd node configuration.

Type

Command ID

Example Screenshot

ERP1

(EnOcean Radio Protocol 1- Fixed Length)

ENOCEAN_RADIO_ERP1

ERP1 VLD (EnOcean Radio Protocol 1 - Variable Length

ENOCEAN_RADIO_ERP1_VLD

MSC (Manufactuere Specific Commands)

ENOCEAN_RADIO_MSC

RMC (Remote Management Command)

ENOCEAN_RADIO_RMC

Example

In this example, a Sub BCMD node is used to subscribe to incoming EnOcean RMC telegrams. The sub bcmd node is linked to a debug node to allow the telegram to be displayed. This setup is shown in the flow below.

The configuration of the sub bcmd node is shown below.

Sending

This sections covers how to send EnOcean telegrams using the MobiusFlow Connector hardware.

Note that, sending is only support for MobiusFlow Connectors running firmware version v3.2.0 or later. Downloads links to the firmware version can be found here.

MobiusFlow Versions v1.x.x (v1.19.9 and newer)

EnOcean telegrams can be sent from the flows using the Send Broadcast Command node, labeled 'send bcmd'. This node is shown below.

On opening the node's configuration, a Command ID is required to specify the function of the node. To allow the node to send EnOcean telegrams, the Command ID should read 'ENOCEAN_RADIO_TX'. This is shown in the configuration window below.

The node accepts and forwards data contained within the payload of incoming messages. The appropriate incoming message structure is shown below.

msg.payload = {
 connectorURI: /*(Connector MobiusFlow URI)*/,
 rawData: /*(Command Data)*/,
}
PropertyExplanation

connectorURI

The URI of the MobiusFlow Connector that will be used to transmit the EnOcean telegram.

rawData

An array of single-byte numbers containing the transmission data. The length of this array will depend on the telegram type.

Below is shown an example configuration of a function node that can be used to generate a payload of the required format.

This data is also shown in the following code block.

msg.payload = {
    connectorURI: '000001/024/FFC0/0001',
    rawData: [
        0x00,
        0x07,
        0x07,
        0x01,
        0xf6,
        0x70,
        0x00,
        0x00,
        0x00,
        0x0A,
        0x30,
        0x01,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0x00
    ]
}
return msg;

MobiusFlow Versions v2.x.x

As well as supporting the Sub BCMD node method from MobiusFlow versions 1.x.x, MobiusFlow 2.x.x introduces the EnOcean Connector TX node for further ease of sending EnOcean telegrams.

Within the node's configuration, you must specify a MobiusFlow connector in which telegrams will be sent from.

The URI of the connector can either be typed in, or it can be searched for using the search button. In the above example, the connector with URI '000001/024/FFC0/0001' has been selected.

The node will send any data within the payload of the incoming message. A screenshot of example code of a function node used to set this payload is given below.

This code is also given in the following code block.

msg.payload = [
    0x00,
    0x07,
    0x07,
    0x01,
    0xf6,
    0x70,
    0x00,
    0x00,
    0x00,
    0x0B,
    0x30,
    0x01,
    0xff,
    0xff,
    0xff,
    0xff,
    0xff,
    0x00
]
return msg;

Checksums and Sync Byte

All EnOcean telegram types feature a sync byte and some checksum bytes to ensure message integrity. When forming a telegram, the user does not need to include the sync byte or checksum bytes, as these are automatically added by MobiusFlow.

For further information about EnOcean telegrams structures we recommend consulting documentation provided by EnOcean.

Last updated

© 2023 MobiusFlow® - All Rights Reserved - MobiusFlow® is a registered trademark of Infrastructure Software Solutions Limited trading as MobiusFlow® - All other brand names, product names, or trademarks belong to their respective owners