Receiving and Sending Raw EnOcean Telegrams
Last updated
Last updated
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.
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.
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
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.
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.
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.
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.
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.
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.