兔喜新增灯条全亮全灭功能
This commit is contained in:
parent
0ffbfa772c
commit
0320970e0a
72
main.c
72
main.c
@ -1762,6 +1762,78 @@ void *thread_mqtt_recv(void *arg){
|
||||
}else{
|
||||
mqtt_service_reply(stationsn,mqtt_parm.msg_messageId,"labelconfig is empty",0,productid);
|
||||
}
|
||||
}else if(strcmp(mqtt_parm.msg_type,"3027")==0){
|
||||
LOG_I("3027 All light on/off\n");
|
||||
get_string_from_json_string_by_key_unescape(msg_data, "scene", mqtt_parm.msg_scene, sizeof(mqtt_parm.msg_scene));
|
||||
LOG_I("scene:%s\n",mqtt_parm.msg_scene);
|
||||
|
||||
get_string_from_json_string_by_key_unescape(msg_data, "lights", mqtt_parm.msg_lights, sizeof(mqtt_parm.msg_lights));
|
||||
LOG_I("lights:%s\n",mqtt_parm.msg_lights);
|
||||
|
||||
get_size_from_json_string_arry_by_key(msg_data, "lights", &mqtt_parm.msg_opNumber);
|
||||
LOG_I("lights size = %d\n", mqtt_parm.msg_opNumber);
|
||||
lightsnNum=mqtt_parm.msg_opNumber;
|
||||
for(int i = 0; i < mqtt_parm.msg_opNumber; i++){
|
||||
get_string_from_json_string_arry_by_key(msg_data,"lights",msg_lightsn_value,128,i);
|
||||
snprintf(msg_lightsn, sizeof(msg_lightsn), "{%s}", msg_lightsn_value);
|
||||
get_string_from_json_string_by_key_unescape(msg_lightsn, "sn", mqtt_parm.msg_sn,sizeof(mqtt_parm.msg_sn));
|
||||
LOG_I("sn:%s\n",mqtt_parm.msg_sn);
|
||||
if(i==0){
|
||||
memset(lightsn1,0,9);
|
||||
memcpy(lightsn1,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==1){
|
||||
memset(lightsn2,0,9);
|
||||
memcpy(lightsn2,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==2){
|
||||
memset(lightsn3,0,9);
|
||||
memcpy(lightsn3,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==3){
|
||||
memset(lightsn4,0,9);
|
||||
memcpy(lightsn4,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==4){
|
||||
memset(lightsn5,0,9);
|
||||
memcpy(lightsn5,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}
|
||||
}
|
||||
|
||||
get_string_from_json_string_by_key_unescape(msg_data, "color", mqtt_parm.msg_color, sizeof(mqtt_parm.msg_color));
|
||||
LOG_I("color:%s\n",mqtt_parm.msg_color);
|
||||
|
||||
get_string_from_json_string_by_key_unescape(msg_data, "sound", mqtt_parm.msg_sound, sizeof(mqtt_parm.msg_sound));
|
||||
LOG_I("sound:%s\n",mqtt_parm.msg_sound);
|
||||
strcpy(mqtt_parm.msg_sound, "0");
|
||||
|
||||
get_string_from_json_string_by_key_unescape(msg_data, "flash", mqtt_parm.msg_flash, sizeof(mqtt_parm.msg_flash));
|
||||
strcpy(mqtt_parm.msg_flash, "0");
|
||||
LOG_I("flash:%s\n",mqtt_parm.msg_flash);
|
||||
|
||||
get_string_from_json_string_by_key_unescape(msg_data, "flashInterval", mqtt_parm.msg_flashInterval,
|
||||
sizeof(mqtt_parm.msg_flashInterval));
|
||||
LOG_I("flashInterval:%s\n",mqtt_parm.msg_flashInterval);
|
||||
|
||||
get_string_from_json_string_by_key_unescape(msg_data, "lightDuration", mqtt_parm.msg_lightDuration,
|
||||
sizeof(mqtt_parm.msg_lightDuration));
|
||||
strcpy(mqtt_parm.msg_lightDuration, "60");
|
||||
LOG_I("lightDuration:%s\n",mqtt_parm.msg_lightDuration);
|
||||
|
||||
if(isLightEnable && (mqtt_parm.msg_opNumber>0)){
|
||||
mqtt_service_reply(stationsn,mqtt_parm.msg_messageId,"ok",1,productid);
|
||||
isSendComEnd=false;
|
||||
isLightOn=false;
|
||||
isLightOnByRule=true; // 使用规则控制
|
||||
isLabelUp=false;
|
||||
|
||||
// 设置label1和label2不参与匹配
|
||||
strcpy(mqtt_parm.msg_label1Rule, "04"); // ∅ 不参与匹配
|
||||
strcpy(mqtt_parm.msg_label2Rule, "04"); // ∅ 不参与匹配
|
||||
// 设置label3不等于386cd300的规则
|
||||
strcpy(mqtt_parm.msg_label3Rule, "03"); // ≠ 不等于
|
||||
strcpy(mqtt_parm.msg_label3, "386cd300");
|
||||
|
||||
uart_data_send_head_lightonrule(&uartSend,5);
|
||||
}else{
|
||||
mqtt_service_reply(stationsn,mqtt_parm.msg_messageId,"light disabled or sn is null",0,productid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user