Silvair EnOcean Proxy Server

The Silvair EnOcean Proxy Server model integrates an EnOcean switch together with Generic OnOff Server and Generic Level Server models, enabling dimming and on/off light control. It implements the Silvair EnOcean Switch Mesh Proxy Server specification.

The model initializes the Bluetooth EnOcean library. The EnOcean switch can be automatically commissioned/decommissioned if option CONFIG_BT_MESH_SILVAIR_ENOCEAN_AUTO_COMMISSION is set.

The Silvair EnOcean Proxy Server uses either one or two elements on a node. Each element handles its own button pair and has its own corresponding Generic OnOff Server and Generic Level Server models. These models should not be accessed by the user application as the Silvair EnOcean Proxy Server model uses them to send messages. The publication settings of these client models can be configured to control a specific light or a group of lights. However, the Generic OnOff Server and Generic Level Server models need to be instantiated for each element. BT_MESH_MODEL_SILVAIR_ENOCEAN_BUTTON is provided to do this, and should be used as presented below:

struct bt_mesh_silvair_enocean_srv enocean;

static struct bt_mesh_elem elements[] = {
        BT_MESH_ELEM(
      1,
                BT_MESH_MODEL_LIST(BT_MESH_MODEL_SILVAIR_ENOCEAN_BUTTON(&silvair_enocean, 0)),
                BT_MESH_MODEL_LIST(BT_MESH_MODEL_SILVAIR_ENOCEAN_SRV(&silvair_enocean))),
     BT_MESH_ELEM(
      2,
                BT_MESH_MODEL_LIST(BT_MESH_MODEL_SILVAIR_ENOCEAN_BUTTON(&silvair_enocean, 1)),
                BT_MESH_MODEL_NONE),
};

The Silvair EnOcean Proxy Server does not require any message handler callbacks.

States

None

Extended models

None

Persistent storage

If CONFIG_BT_ENOCEAN_STORE is enabled, the Silvair EnOcean Proxy Server stores the commissioned EnOcean device address.

API documentation

Header file: include/bluetooth/mesh/vnd/silvair_enocean_srv.h
Source file: subsys/bluetooth/mesh/vnd/silvair_enocean_srv.c
Silvair EnOcean Server model