Commit b804d326 authored by 尹佳钦's avatar 尹佳钦

【20210831】修复局越网地暖控制上报问题。优化配置表解析。

parent 9da143b4
......@@ -29,31 +29,31 @@
//#include "kcloud_log.h"
static char s_ccuid[DEVICE_CODE_LEN] = {0};
int KK_Get_ccuid(_OU_ char *device_code)
{
strncpy(device_code, s_ccuid, strlen(s_ccuid));
printf("HAL_Get_ccuid:%s\n",s_ccuid);
return strlen(s_ccuid);
{
strncpy(device_code, s_ccuid, strlen(s_ccuid));
printf("HAL_Get_ccuid:%s\n",s_ccuid);
return strlen(s_ccuid);
}
static int _setDevice_Code(_IN_ char *device_code,int len)
{
memset(s_ccuid, 0x0, DEVICE_CODE_LEN);
printf("_setDevice_Code:%s\n",device_code);
strncpy(s_ccuid, device_code, len);
return len;
memset(s_ccuid, 0x0, DEVICE_CODE_LEN);
printf("_setDevice_Code:%s\n",device_code);
strncpy(s_ccuid, device_code, len);
return len;
}
static void KK_Ccuid_init(void)
{
uint8_t ccuid[DEVICE_CODE_LEN] = {0};
uint8_t ccuid[DEVICE_CODE_LEN] = {0};
uint8_t ccuidTmp[DEVICE_CODE_LEN] = {0};
int ccuid_len = 0;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)ccuid,sizeof(ccuid),&ccuid_len);
printf("GET_CCUID_CMD:%s\n",ccuid);
if(ccuid_len > 0 && ccuid_len <= DEVICE_CODE_LEN){
int ccuid_len = 0;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)ccuid,sizeof(ccuid),&ccuid_len);
printf("GET_CCUID_CMD:%s\n",ccuid);
if(ccuid_len > 0 && ccuid_len <= DEVICE_CODE_LEN){
sprintf(ccuidTmp,"CCU_%s",ccuid);
_setDevice_Code(ccuidTmp,strlen(ccuidTmp)-1);//减一是因为最后有一个换行
}else{
_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
}
_setDevice_Code(ccuidTmp,strlen(ccuidTmp)-1);//减一是因为最后有一个换行
}else{
_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
}
}
static int mqtt_start(void)
{
......@@ -102,7 +102,7 @@ int main(int argc, char* argv[])
KK_Ccuid_init();
kk_ipc_init(IPC_APP2MID,(ipc_cb*)KK_Data_FromDev,NULL,NULL);
kk_info_report_start();
again:
again:
rc = kk_start_ccu_register();
if(rc == 0){
rc = mqtt_start();
......
......@@ -23,146 +23,146 @@ extern int kk_get_gw_status(void);
#define TO_OLED_NANOMSG_SOCKET_ADDR "ipc:///tmp/oled_pair.ipc"
static int kk_info_nanomsg_init(void)
{
int socketfd = 0;
socketfd = nn_socket(AF_SP, NN_PAIR);
if(socketfd < 0){
return -1;
}
int socketfd = 0;
socketfd = nn_socket(AF_SP, NN_PAIR);
if(socketfd < 0){
return -1;
}
if(nn_connect(socketfd, TO_OLED_NANOMSG_SOCKET_ADDR) < 0){
WARNING_PRINT("[%s][%d]connect fail!!!\n",__FUNCTION__,__LINE__);
return -1;
}
return socketfd;
}
return socketfd;
}
static int kk_info_get(char *str)
{
int ret = 0;
char version[VERSION_MAXLEN] = {0};
char *str_tmp = NULL;
char ccuid[32] = {0};
if(str == NULL){
return -1;
}
HAL_GetVersion(version);
KK_Get_ccuid(ccuid);
cJSON *root = cJSON_CreateObject();
if (root)
{
cJSON *args = cJSON_CreateObject();
if (args)
{
cJSON_AddItemToObject(root, "args", args);
int ret = 0;
char version[VERSION_MAXLEN] = {0};
char *str_tmp = NULL;
char ccuid[32] = {0};
if(str == NULL){
return -1;
}
//HAL_GetVersion(version);
cJSON *ccu = cJSON_CreateObject();
if (ccu)
{
char status[4] = {0};
KK_Get_ccuid(ccuid);
cJSON *root = cJSON_CreateObject();
if (root)
{
cJSON *args = cJSON_CreateObject();
if (args)
{
cJSON_AddItemToObject(root, "args", args);
cJSON_AddItemToObject(args, "ccu", ccu);
cJSON_AddStringToObject(ccu, "id", &ccuid[4]);
cJSON_AddStringToObject(ccu, "version", version);
cJSON_AddStringToObject(ccu, "name", "kk_new_ccu");
//INFO_PRINT("---222kk_get_cloud_status():%d\n",kk_get_cloud_status());
//if(kk_get_gw_status() == DEVICE_OFFLINE){
//memcpy(status,"2",strlen("2"));
//}
if(kk_get_cloud_status() == DEVICE_OFFLINE)
{
//cJSON_AddStringToObject(ccu, "status", "1");
//INFO_PRINT("_-----------------------------------------------------------11\n");
memcpy(status,"1",strlen("1"));
}else{
//INFO_PRINT("_-----------------------------------------------------------22\n");
memcpy(status,"0",strlen("0"));
}
//INFO_PRINT("------------------------------------->status :%s\n",status);
cJSON *ccu = cJSON_CreateObject();
if (ccu)
{
char status[4] = {0};
cJSON_AddStringToObject(ccu, "status", status);
}
cJSON *net = cJSON_CreateObject();
if (net)
{
char s_IP[NETWORK_ADDR_LEN] = {0};
HAL_Get_IP(s_IP,NULL);
cJSON_AddItemToObject(args, "net", net);
cJSON_AddStringToObject(net, "interface", CCU_LAN);
cJSON_AddStringToObject(net, "ip", s_IP);
}
cJSON *lsc_status = cJSON_CreateObject();
if (lsc_status)
{
cJSON_AddStringToObject(args, "lsc_status", "1");
}
cJSON_AddItemToObject(args, "ccu", ccu);
cJSON_AddStringToObject(ccu, "id", &ccuid[4]);
cJSON_AddStringToObject(ccu, "version", version);
cJSON_AddStringToObject(ccu, "name", "kk_new_ccu");
//INFO_PRINT("---222kk_get_cloud_status():%d\n",kk_get_cloud_status());
//if(kk_get_gw_status() == DEVICE_OFFLINE){
//memcpy(status,"2",strlen("2"));
//}
if(kk_get_cloud_status() == DEVICE_OFFLINE)
{
//cJSON_AddStringToObject(ccu, "status", "1");
//INFO_PRINT("_-----------------------------------------------------------11\n");
memcpy(status,"1",strlen("1"));
}else{
//INFO_PRINT("_-----------------------------------------------------------22\n");
memcpy(status,"0",strlen("0"));
}
//INFO_PRINT("------------------------------------->status :%s\n",status);
cJSON *qr_code = cJSON_CreateObject();
if (qr_code)
{
char qrcodeStr[256] = {0};
sprintf(qrcodeStr,"KONKE-CCU:%s:%s:BBE3C5A5FC1FDB6CA1A386AB321D02AB",KK_CCU_PRODUCTID,&ccuid[4]);
cJSON_AddItemToObject(args, "qr_code", qr_code);
cJSON_AddStringToObject(qr_code, "string", qrcodeStr);
cJSON_AddBoolToObject(qr_code, "show", 1);
}
cJSON *service = cJSON_CreateObject();
if (service)
{
cJSON_AddStringToObject(args, "service", "1");
}
}
str_tmp = cJSON_PrintUnformatted(root);
//INFO_PRINT("JSON %s\r\n", str_tmp);
strcpy(str, str_tmp);
free(str_tmp);
cJSON_Delete(root);
}
else
{
ret = -1;
}
return ret;
cJSON_AddStringToObject(ccu, "status", status);
}
cJSON *net = cJSON_CreateObject();
if (net)
{
char s_IP[NETWORK_ADDR_LEN] = {0};
HAL_Get_IP(s_IP,NULL);
cJSON_AddItemToObject(args, "net", net);
cJSON_AddStringToObject(net, "interface", CCU_LAN);
cJSON_AddStringToObject(net, "ip", s_IP);
}
cJSON *lsc_status = cJSON_CreateObject();
if (lsc_status)
{
cJSON_AddStringToObject(args, "lsc_status", "1");
}
cJSON *qr_code = cJSON_CreateObject();
if (qr_code)
{
char qrcodeStr[256] = {0};
sprintf(qrcodeStr,"KONKE-CCU:%s:%s:BBE3C5A5FC1FDB6CA1A386AB321D02AB",KK_CCU_PRODUCTID,&ccuid[4]);
cJSON_AddItemToObject(args, "qr_code", qr_code);
cJSON_AddStringToObject(qr_code, "string", qrcodeStr);
cJSON_AddBoolToObject(qr_code, "show", 1);
}
cJSON *service = cJSON_CreateObject();
if (service)
{
cJSON_AddStringToObject(args, "service", "1");
}
}
str_tmp = cJSON_PrintUnformatted(root);
//INFO_PRINT("JSON %s\r\n", str_tmp);
strcpy(str, str_tmp);
free(str_tmp);
cJSON_Delete(root);
}
else
{
ret = -1;
}
return ret;
}
//static int
void *kk_info_nanomsg_send(void *data)
{
int ret = 0;
char str[1024] = {0};
int socketfd = kk_info_nanomsg_init();
if(socketfd < 0){
return NULL;
}
while(1){
memset(str,0x0,sizeof(str));
ret = kk_info_get(str);
if(ret == 0){
//printf("*********nn_send***********\n");
ret = nn_send(socketfd, str, strlen(str), 1);
if(ret < 0) {
//WARNING_PRINT("[%s][%d]nn_send fail!!!\n",__FUNCTION__,__LINE__);
}
}
sleep(10);
}
int ret = 0;
char str[1024] = {0};
int socketfd = kk_info_nanomsg_init();
if(socketfd < 0){
return NULL;
}
while(1){
memset(str,0x0,sizeof(str));
ret = kk_info_get(str);
if(ret == 0){
//printf("*********nn_send***********\n");
ret = nn_send(socketfd, str, strlen(str), 1);
if(ret < 0) {
//WARNING_PRINT("[%s][%d]nn_send fail!!!\n",__FUNCTION__,__LINE__);
}
}
sleep(10);
}
}
int kk_info_report_start(void)
{
int rc;
pthread_t info_report_thread;
pthread_attr_t info_report_attr;
pthread_mutex_init(&s_data_mutex, NULL);
/*创建线程*/
pthread_attr_init(&info_report_attr);
size_t s = 1500;
pthread_attr_setstacksize(&info_report_attr, s);
pthread_attr_setdetachstate(&info_report_attr, PTHREAD_CREATE_JOINABLE);
rc = pthread_create(&info_report_thread, &info_report_attr, kk_info_nanomsg_send, (void *)NULL); //收数据
if (rc)
{
WARNING_PRINT("Error : unable to create thread udp_recv \r\n");
return -1;
}
pthread_attr_destroy(&info_report_attr);
return 0;
int rc;
pthread_t info_report_thread;
pthread_attr_t info_report_attr;
pthread_mutex_init(&s_data_mutex, NULL);
/*创建线程*/
pthread_attr_init(&info_report_attr);
size_t s = 1500;
pthread_attr_setstacksize(&info_report_attr, s);
pthread_attr_setdetachstate(&info_report_attr, PTHREAD_CREATE_JOINABLE);
rc = pthread_create(&info_report_thread, &info_report_attr, kk_info_nanomsg_send, (void *)NULL); //收数据
if (rc)
{
WARNING_PRINT("Error : unable to create thread udp_recv \r\n");
return -1;
}
pthread_attr_destroy(&info_report_attr);
return 0;
}
\ No newline at end of file
This diff is collapsed.
......@@ -205,10 +205,10 @@ MQTTAsync KK_MQTT_Connect(void)
char token[512] = {0};
char usrname[128] = {0};
fp = fopen(KK_TOKEN_PATH, "r");
if(fp != NULL){
fread(token,1,sizeof(token),fp);
fclose(fp);
}
if(fp != NULL){
fread(token,1,sizeof(token),fp);
fclose(fp);
}
HAL_Get_mac(mac);
char ccuid[32] = {0};
KK_Get_ccuid(ccuid);
......
This diff is collapsed.
......@@ -114,7 +114,7 @@ void kk_handle_sync_info(void)
return;
}
debug_log(LOG_INFO,"[sync] send.\n");
debug_log(LOG_INFO_LEVEL,"[sync] send.\n");
kk_ipc_send(IPC_APP2MID, send_data, strlen(send_data)+1);
free(send_data);
......@@ -354,7 +354,6 @@ int kk_data_handle(cJSON *json,int sockfd)
cJSON *opcode = NULL;
cJSON *arg = NULL;
opcode = cJSON_GetObjectItem(json, OPCODE_STRING);
if(opcode != NULL){
if(strcmp(opcode->valuestring,LOGIN_OPCODE) == 0){
......@@ -712,18 +711,18 @@ static int kk_lan_scene_handle(cJSON *payload,int isAdd)
cJSON *sceneId = NULL;
if(payload == NULL){
debug_log(LOG_DEBUG,"[err] payload.\n");
debug_log(LOG_DEBUG_LEVEL,"[err] payload.\n");
return -1;
}
if((params = cJSON_GetObjectItem(payload, MSG_PARAMS_STR))==NULL||
params->type!=cJSON_Object){
debug_log(LOG_DEBUG,"[err] params err.\n");
debug_log(LOG_DEBUG_LEVEL,"[err] params err.\n");
return -1;
}
if((sceneId = cJSON_GetObjectItem(params, MSG_SCENE_SCENEID))==NULL ||
sceneId->type!=cJSON_String){
debug_log(LOG_DEBUG,"[err] sceneId err.\n");
debug_log(LOG_DEBUG_LEVEL,"[err] sceneId err.\n");
return -1;
}
......@@ -745,7 +744,7 @@ void KK_Data_FromMid(void* str,int len)
cJSON *info = NULL,*payload = NULL;
cJSON *msgtype = NULL,*deviceCode = NULL,*productCode = NULL;
debug_log(LOG_FOCUS,"[midware->lan] len=%d,data=%s\n",len,str);
debug_log(LOG_FOCUS_LEVEL,"[midware->lan] len=%d,data=%s\n",len,str);
if((json= cJSON_Parse(str)) == NULL) {
return;
......
......@@ -69,34 +69,34 @@ cJSON * kk_control_protocol_convert(kk_map_dev_node_t *devNode,int nodeId,cJSON
pos = match_opcode_pos(devNode->oldccu,opcode->valuestring,channel);
if(pos==-1){
debug_log(LOG_FOCUS,"not find\n");
debug_log(LOG_FOCUS_LEVEL,"not find\n");
return NULL;
}
debug_log(LOG_FOCUS,"1\n");
debug_log(LOG_FOCUS_LEVEL,"1\n");
newccuItem = cJSON_GetArrayItem(devNode->newccu,pos);
oldccuItem = cJSON_GetArrayItem(devNode->oldccu,pos);
debug_log(LOG_FOCUS,"2\n");
debug_log(LOG_FOCUS_LEVEL,"2\n");
o_dataType = cJSON_GetObjectItem(oldccuItem,"dataType");
o_valueRange = cJSON_GetObjectItem(oldccuItem,"valueRange");
debug_log(LOG_FOCUS,"3\n");
debug_log(LOG_FOCUS_LEVEL,"3\n");
n_dataType = cJSON_GetObjectItem(newccuItem,"dataType");
n_valueRange = cJSON_GetObjectItem(newccuItem,"valueRange");
n_identifier = cJSON_GetObjectItem(newccuItem,"identifier");
epNum = cJSON_GetObjectItem(newccuItem,"channel");
debug_log(LOG_FOCUS,"4\n");
debug_log(LOG_FOCUS_LEVEL,"4\n");
if(strcmp(o_dataType->valuestring,"map")==0){
debug_log(LOG_FOCUS,"5\n");
debug_log(LOG_FOCUS_LEVEL,"5\n");
val = map_type_convert(o_dataType,o_valueRange,arg,n_valueRange);
}else{
debug_log(LOG_FOCUS,"6\n");
val = msg_convert_value(o_dataType,n_dataType,arg);
debug_log(LOG_FOCUS_LEVEL,"6\n");
val = msg_convert_value(n_dataType,o_dataType,arg);
}
debug_log(LOG_FOCUS,"7\n");
debug_log(LOG_FOCUS_LEVEL,"7\n");
cJSON_AddStringToObject(params,"epNum",epNum->valuestring);
debug_log(LOG_FOCUS,"8\n");
debug_log(LOG_FOCUS_LEVEL,"8\n");
if(val->type==cJSON_False){
cJSON_AddFalseToObject(params,n_identifier->valuestring);
......@@ -111,7 +111,7 @@ cJSON * kk_control_protocol_convert(kk_map_dev_node_t *devNode,int nodeId,cJSON
}else if(val->type==cJSON_Array){
printf("......................\n");
}
debug_log(LOG_FOCUS,"9\n");
debug_log(LOG_FOCUS_LEVEL,"9\n");
return params;
}
......
......@@ -4,13 +4,15 @@
#include <stdio.h>
#include <time.h>
#define LOG_NORMAL 1 //亮白色
#define LOG_DEBUG 2 //绿色
#define LOG_INFO 3 //蓝色
#define LOG_FOCUS 4 //黄色
#define LOG_WARNING 5 //蓝绿色
#define LOG_ERROR 6 //紫色
#define LOG_CRITICAL 7 //红色
#define LOG_NORMAL_LEVEL 1 //亮白色
#define LOG_DEBUG_LEVEL 2 //绿色
#define LOG_INFO_LEVEL 3 //蓝色
#define LOG_FOCUS_LEVEL 4 //黄色
#define LOG_WARNING_LEVEL 5 //蓝绿色
#define LOG_ERROR_LEVEL 6 //紫色
#define LOG_CRITICAL_LEVEL 7 //红色
#define LOG_NORMAL_ACT "\033[0;1;37m"
#define LOG_DEBUG_ACT "\033[0;1;32m"
......@@ -23,7 +25,7 @@
#define syslog_en 1
#define LOG_LEVEL LOG_NORMAL
#define LOG_LEVEL LOG_NORMAL_LEVEL
#define LOG_LEVEL_1 LOG_NORMAL_ACT
......@@ -48,7 +50,7 @@
#if (syslog_en)
#define debug_log(level,format,...) do { \
if( level >= LOG_LEVEL && level <= LOG_CRITICAL) { \
if( level >= LOG_LEVEL && level <= LOG_CRITICAL_LEVEL) { \
char buff[64] = {0};\
time_t curTime = time(NULL); \
struct tm *c = gmtime(&curTime);\
......
......@@ -66,15 +66,55 @@ static void kk_lan_ccuid_init(void)
}
}
int prg_run_singleton(const char *prg)
{
int fd;
int ret;
char pid_file[256] = {0};
char pid_data[32] = {0};
struct flock fl;
if(prg==NULL){
return -1;
}
memset(pid_file,0,sizeof(pid_file));
snprintf(pid_file, sizeof(pid_file), "/var/run/%s.pid",prg);
fd = open(pid_file, O_CREAT|O_WRONLY|O_TRUNC, 0644);
if(fd<0){
return -1;
}
fl.l_type = F_WRLCK;
fl.l_start = 0;
fl.l_whence = SEEK_SET;
fl.l_len = 0;
ret = fcntl(fd,F_SETLK,&fl);
if(ret < 0){
return -1;
}
memset(pid_data,0,sizeof(pid_data));
snprintf(pid_data, sizeof(pid_data), "%d",getpid());
return write(fd,pid_data,strlen(pid_data));
}
int main(int argc, char* argv[])
{
int rc = 0;
char *ppp;
int ret = 0;
open("kk_lan",LOG_PID,LOG_USER);
if(prg_run_singleton(argv[0])<0){
debug_log(LOG_CRITICAL_LEVEL,"[%s]run singleton fail!\n",argv[0]);
return -1;
}
kk_lan_ccuid_init();
/*set the callback to get the device date to cloud*/
......@@ -82,7 +122,7 @@ int main(int argc, char* argv[])
kk_findccu_handle_init();
kk_map_dev_init();
kk_login_init();
kk_voice_panel_init(argc,argv);
//kk_voice_panel_init(argc,argv);
//lan_queue_init();
kk_lan_db_node_init();
......@@ -91,6 +131,6 @@ int main(int argc, char* argv[])
while(1){
sleep(1);
}
return rc;
return 0;
}
......@@ -428,7 +428,7 @@ int kk_sync_devices_to_sdk(cJSON *root,cJSON *data)
//
cJSON *_kk_sync_devicestatus_arg_build(kk_map_dev_node_t *node)
{
int i,num = 0;
int i,num=0,n_num = 0,o_num = 0;
cJSON *newccu,*oldccu;
cJSON *arg = cJSON_CreateObject();
......@@ -445,12 +445,15 @@ cJSON *_kk_sync_devicestatus_arg_build(kk_map_dev_node_t *node)
return arg;
}
n_num = cJSON_GetArraySize(newccu);
o_num = cJSON_GetArraySize(oldccu);
num = (n_num>o_num)?n_num:o_num;
num = cJSON_GetArraySize(newccu);
for(i=0;i<num;i++){
cJSON * newccuItem = cJSON_GetArrayItem(newccu,i);
cJSON * oldccuItem = cJSON_GetArrayItem(oldccu,i);
cJSON *val = NULL;
cJSON *synType = cJSON_GetObjectItem(oldccuItem,"synType");
......
......@@ -315,7 +315,7 @@ void *kk_vp_manage_thread(void *arg)
break;
case UPDATING_8009_CONFIG_FILE_INFO:
debug_log(LOG_INFO,"updating...\n");
debug_log(LOG_INFO_LEVEL,"updating...\n");
sleep(1);
//todo :超时取消
break;
......@@ -357,7 +357,7 @@ void kk_voice_panel_uart_dev_chose(int argc, char* argv[])
{NULL, 0, NULL, 0},
};
debug_log(LOG_FOCUS,"kk_voice_panel_uart_dev_chose\n");
debug_log(LOG_FOCUS_LEVEL,"kk_voice_panel_uart_dev_chose\n");
while((opt =getopt_long_only(argc,argv,string,long_options,&option_index))!= -1)
{
if(opt==0xAA5555AA){
......@@ -372,7 +372,7 @@ void kk_voice_panel_uart_dev_chose(int argc, char* argv[])
snprintf(serialDev,sizeof(serialDev),"%s",SERIAL_NAME);
}
debug_log(LOG_FOCUS,"serialDev=%s\n",serialDev);
debug_log(LOG_FOCUS_LEVEL,"serialDev=%s\n",serialDev);
}
int kk_voice_panel_init(int argc, char* argv[])
......
......@@ -46,16 +46,18 @@ static KK_VP_CTRL vp_ctrl_table[]={
{is_outlet_dev,outlet_dev_handle}
};
static int light_dev_pid[]={
3023,3024
3001,3002,3003,3022,3023,3024
};
static int curtain_dev_pid[]={
3067
3005,3006,3007,3008,3009,3010,3011,3026,3027,3067
};
static int outlet_dev_pid[]={
3020
3019,3020,3037,3038
};
......
This diff is collapsed.
......@@ -6,9 +6,9 @@
#include "kk_voice_panel_cfg.h"
#define VP_CONFIG_FILE_MD5 "voice_data.MD5"
#define VP_CONFIG_FILE "/etc/smarthome/voice_data.json"
#define VP_CONFIG_FILE_TAR_GZ "voice_data.tar.gz"
#define VP_CONFIG_FILE_MD5 "/data/kk/voice_data.MD5"
#define VP_CONFIG_FILE_TAR_GZ "/data/kk/voice_data.tar.gz"
#define OPCODE_8009_SNAPSHOOT 0x1000
......
{
"productCode":"3024",
"operateType":"3",
"channel":3,
"newccu":[
{
"identifier":"PowerSwitch",
"opcodemap":"SWITCH",
"dataType":"int",
"channel":"1",
"valueRange":[0,1],
"value": 0
},
{
"identifier":"PowerSwitch",
"opcodemap":"SWITCH",
"dataType":"int",
"channel":"2",
"valueRange":[0,1],
"value": 0
},
{
"identifier":"PowerSwitch",
"opcodemap":"SWITCH",
"dataType":"int",
"channel":"3",
"valueRange":[0,1],
"value": 0
}
],
"oldccu":[
{
"opcode":"SWITCH",
"identifiermap":"PowerSwitch",
"dataType":"map",
"channel":"1",
"valueRange":["OFF","ON"]
},
{
"opcode":"SWITCH",
"identifiermap":"PowerSwitch",
"dataType":"map",
"channel":"2",
"valueRange":["OFF","ON"]
},
{
"opcode":"SWITCH",
"identifiermap":"PowerSwitch",
"dataType":"map",
"channel":"3",
"valueRange":["OFF","ON"]
}
]
}
{
"productCode":"3024",
"operateType":"3",
"channel":3,
"newccu":[
{
"identifier":"PowerSwitch",
"opcodemap":"SWITCH",
"dataType":"int",
"channel":"1",
"valueRange":[0,1],
"value": 0
},
{
"identifier":"PowerSwitch",
"opcodemap":"SWITCH",
"dataType":"int",
"channel":"2",
"valueRange":[0,1],
"value": 0
},
{
"identifier":"PowerSwitch",
"opcodemap":"SWITCH",
"dataType":"int",
"channel":"3",
"valueRange":[0,1],
"value": 0
}
],
"oldccu":[
{
"opcode":"SWITCH",
"identifiermap":"PowerSwitch",
"dataType":"map",
"channel":"1",
"valueRange":["OFF","ON"]
},
{
"opcode":"SWITCH",
"identifiermap":"PowerSwitch",
"dataType":"map",
"channel":"2",
"valueRange":["OFF","ON"]
},
{
"opcode":"SWITCH",
"identifiermap":"PowerSwitch",
"dataType":"map",
"channel":"3",
"valueRange":["OFF","ON"]
}
]
}
\ No newline at end of file
......@@ -47,13 +47,6 @@
"channel":"1",
"valueRange":[],
"value": 22
},{
"identifier":"time_off",
"opcodemap":"FLOOR_HEATING_DEV_STATUS",
"dataType":"dummy",
"channel":"1",
"valueRange":[],
"value": 0
}
],
"oldccu":[
......@@ -76,7 +69,7 @@
},{
"opcode":"SET_WORK_TEMPERATURE",
"identifiermap":"Temperature",
"dataType":"double",
"dataType":"string_double",
"channel":"1",
"valueRange":[],
"syn":"work_temperature",
......@@ -84,7 +77,7 @@
},{
"opcode":"FLOOR_HEATING_SET_TIME_OFF",
"identifiermap":"TimingOffTime",
"dataType":"double",
"dataType":"fit",
"channel":"1",
"valueRange":[],
"syn":"time_off",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment