From 97bfbef93cf7b0b03fdedd50a5560251349789db Mon Sep 17 00:00:00 2001 From: zogodo <742782908@qq.com> Date: Mon, 17 Feb 2020 15:08:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=91=BD=E4=BB=A4-O?= =?UTF-8?q?K?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TC1/mqtt_server/user_mqtt_client.c | 11 +++++------ TODO.txt | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/TC1/mqtt_server/user_mqtt_client.c b/TC1/mqtt_server/user_mqtt_client.c index cbb4007..b2db598 100644 --- a/TC1/mqtt_server/user_mqtt_client.c +++ b/TC1/mqtt_server/user_mqtt_client.c @@ -426,6 +426,7 @@ void ProcessHaCmd(char* cmd) sscanf(cmd, "set socket %s %d %d", mac, &i, &on); app_log("set socket[%d] on[%d]", i, on); UserRelaySet(i, on); + UserMqttSendSocketState(i); } } @@ -473,15 +474,13 @@ OSStatus UserMqttSend(char *arg) //更新ha开关状态 OSStatus UserMqttSendSocketState(char socket_id) { - char *send_buf = NULL; - char *topic_buf = NULL; - send_buf = malloc(64); - topic_buf = malloc(64); + char *send_buf = malloc(64); + char *topic_buf = malloc(64); OSStatus oss_status = kUnknownErr; if (send_buf != NULL && topic_buf != NULL) { sprintf(topic_buf, "homeassistant/switch/%s/socket_%d/state", str_mac, (int)socket_id); - sprintf(send_buf, "{\"mac\":\"%s\",\"socket_%d\":{\"on\":%d}}", str_mac, socket_id, (int)user_config->socket_configs[(int)socket_id].on); + sprintf(send_buf, "set socket %s %d %d", str_mac, socket_id, (int)user_config->socket_configs[(int)socket_id].on); oss_status = UserMqttSendTopic(topic_buf, send_buf, 1); } if (send_buf) free(send_buf); @@ -527,7 +526,7 @@ void UserMqttHassAutoName(char socket_id) "\"name\":\"%s\"," "\"stat_t\":\"homeassistant/switch/%s/socket_%d/state\"," "\"cmd_t\":\"device/ztc1/set\"," - "\"pl_on\":\"{\\\"mac\\\":\\\"%s\\\",\\\"socket_%d\\\":{\\\"on\\\":1}}\"," + "\"pl_on\":\"set socket %s %d 1\"," "\"pl_off\":\"set socket %s %d 0\"}", user_config->socket_configs[(int)socket_id].name, str_mac, socket_id, str_mac, socket_id, str_mac, socket_id); UserMqttSendTopic(topic_buf, send_buf, 0); diff --git a/TODO.txt b/TODO.txt index b1360bc..fe5c652 100644 --- a/TODO.txt +++ b/TODO.txt @@ -7,3 +7,4 @@ 6. 去掉C_Json 7. 去除user_udp 8. 统一os_log +9. 更新web socket状态