1 /* 2 * Copyright (C) 2018-2020 Alibaba Group Holding Limited 3 */ 4 5 #ifndef _ALI_MODEL_GEN_ONOFF_SRV_H_ 6 #define _ALI_MODEL_GEN_ONOFF_SRV_H_ 7 8 #include "genie_service.h" 9 10 #define GEN_ONOFF_OPC_NUM 4 11 #define GEN_ONOFF_DEFAULT 1 12 13 #define MESH_MODEL_GEN_ONOFF_SRV(_user_data) BT_MESH_MODEL(BT_MESH_MODEL_ID_GEN_ONOFF_SRV, \ 14 g_gen_onoff_op, &g_gen_onoff_pub, _user_data) 15 16 extern struct bt_mesh_model_pub g_gen_onoff_pub; 17 extern const struct bt_mesh_model_op g_gen_onoff_op[GEN_ONOFF_OPC_NUM]; 18 19 /** 20 * @brief generic on/off model publication 21 * @param[in] p_model: model details 22 */ 23 void gen_onoff_publication(struct bt_mesh_model *p_model); 24 25 /** 26 * @brief bind the on/off element with lightness app. 27 * @param[in] p_elem refer to the element to be bound. 28 * @param[in] type TYPE_PRESENT or TYPE_TARGET 29 */ 30 void sig_model_onoff_update_by_lightness(sig_model_element_state_t *p_elem, E_VALUE_TYPE type); 31 32 #ifdef CONFIG_MESH_MODEL_CTL_SRV 33 void sig_model_onoff_update_by_color_temperature(sig_model_element_state_t *p_elem); 34 #endif 35 36 #endif // _ALI_MODEL_GEN_ONOFF_SRV_H_ 37