diff --git a/include/bluetooth/mesh/main.h b/include/bluetooth/mesh/main.h index 7ef0832ccbd..db1e68559fc 100644 --- a/include/bluetooth/mesh/main.h +++ b/include/bluetooth/mesh/main.h @@ -218,6 +218,10 @@ int bt_mesh_prov_disable(bt_mesh_prov_bearer_t bearers); #define BT_MESH_FEAT_PROXY BIT(1) #define BT_MESH_FEAT_FRIEND BIT(2) #define BT_MESH_FEAT_LOW_POWER BIT(3) +#define BT_MESH_FEAT_SUPPORTED (BT_MESH_FEAT_RELAY | \ + BT_MESH_FEAT_PROXY | \ + BT_MESH_FEAT_FRIEND | \ + BT_MESH_FEAT_LOW_POWER) /** @brief Initialize Mesh support * diff --git a/subsys/bluetooth/host/mesh/cfg_srv.c b/subsys/bluetooth/host/mesh/cfg_srv.c index 81edea7bb7c..31d2b9b0083 100644 --- a/subsys/bluetooth/host/mesh/cfg_srv.c +++ b/subsys/bluetooth/host/mesh/cfg_srv.c @@ -2797,7 +2797,7 @@ static void heartbeat_pub_set(struct bt_mesh_model *model, cfg->hb_pub.dst = dst; cfg->hb_pub.period = param->period_log; - cfg->hb_pub.feat = feat; + cfg->hb_pub.feat = feat & BT_MESH_FEAT_SUPPORTED; cfg->hb_pub.net_idx = idx; if (dst == BT_MESH_ADDR_UNASSIGNED) {