nRF5 SDK for Mesh v5.0.0
EnOcean switch translator client example
You can test this example on the following devices: nRF52840, nRF52833, and nRF52832.
This example is not compatible with the nRF52810 and nRF52820 devices.

This example demonstrates:

The example uses two instances of the Generic OnOff client model. These on/off clients can be configured to control desired servers by the provisioner.

The following figure shows such a hybrid network that contains a device outside of the Bluetooth mesh network, a translator client, and servers. All servers have the relay functionality enabled, which allows the EnOcean switch to control the state of any of the servers in the network.

Integrating EnOcean switches in the Bluetooth mesh network

The translator client linked with the EnOcean switch has a provisionee role in the network. The client receives messages from the PTM215B switch and converts them to equivalent on/off client messages to control the state of LED 1 on servers. The client instantiates two instances of the Generic OnOff Client model (A and B, each with two buttons) and can either be provisioned and configured by the provisioner example or by a GATT-based provisioner (nRF Mesh mobile app).

Table of contents

Hardware requirements

You need at least two compatible development kits for this example:

Additionally, you need one of the following for provisioning:

See Compatibility for information about the compatible development kits.

Software requirements

To test this example, you need to use the server example from the Light switch example folder, regardless of the number of server boards you use: <InstallFolder>/examples/light_switch/server. See server details for more information about the API usage.

The example is configured to store security material for two EnOcean switches. If you want this example to support more than two EnOcean switches in parallel, set the value of MAX_ENOCEAN_DEVICES_SUPPORTED to the desired number of switches.

Depending on the provisioning method:


You can find the source code of the EnOcean example in the following folder: <InstallFolder>/examples/enocean_switch

LED and button assignments

Testing the example

To test the EnOcean switch example, build the examples by following the instructions in Building the Bluetooth mesh stack.

After building is complete, use one of the following methods, depending on the preferred provisioning approach:

Once the provisioning is complete, you can start interacting with the boards.

Evaluating using the static provisioner

See provisioner example testing section for detailed steps required to provision and configure the boards using the static provisioner.

There are two additional steps specific to this example:

Evaluating using the nRF Mesh mobile app

See Evaluating examples using the nRF Mesh mobile application for detailed steps required to provision and configure the boards using the nRF Mesh mobile app.

When using the nRF Mesh app with this example, take the following information into account:

The following model instances must be configured in the app for this example:

Capturing the commissioning data of the EnOcean switch

These steps can be done either before or after the translator client has been provisioned.

To capture the commissioning data of the EnOcean switch, put the EnOcean switch in the radio-based commissioning mode:

  1. Make sure that the Disable Radio Commissioning flag in the Configuration register of the NFC interface is set to 0b0 (default state).
  2. Start by selecting one button contact of PTM 215B. Any button of PTM 215B (A0, A1, B0, B1) can be used.
  3. Execute the following sequence:
    1. Press and hold the selected button for more than 7 seconds before releasing it.
    2. Press the selected button quickly (hold for less than 2 seconds).
    3. Press and hold the selected button again for more than 7 seconds before releasing it. Upon detection of this sequence, PTM 215B enters the commissioning mode. See EnOcean PTM215B Datasheet for reference.

Once entered the radio commissioning mode, PTM215B transmits the commissioning telegrams. These telegrams will be captured by the translator, and the security material contained within those telegrams will be stored in the flash.

Once one of the commissioning telegrams is captured by the translator, 4 LEDs will blink 4 times.

The example supports two EnOcean switches to be connected in parallel. You can repeat the commissioning configuration steps to commission the second switch. From the Bluetooth mesh network's perspective, both switches will be seen as one device, and their messages will be forwarded through the same Generic OnOff clients.

Interacting with the boards

Once the provisioning and the configuration of the EnOcean translator client node and at least one of the server nodes are complete and the commissioning data is captured, you can press rocker switches on the EnOcean switch to control various servers. See LED and button assignments section.

If any of the devices is powered off and back on, it will remember its flash configuration and rejoin the network. For more information about the flash manager, see Flash manager.

If you want to reset the application data without re-flashing the firmware, press Button 4. LED 1 will blink twice to indicate that application-specific data and data related to Bluetooth mesh has been erased. Press Reset button to reset the board and start the application.

Documentation feedback | Developer Zone | Subscribe | Updated