qlwz / esp_dc1

DC1插线板固件
GNU General Public License v2.0
227 stars 92 forks source link

关于无法在ui界面编辑名字的解决方法 #22

Open wanghuangjie opened 3 months ago

wanghuangjie commented 3 months ago

需要增加 unique_id 到mqtt发现。

源码src/dc1.cpp

大概在180行左右的位置,参照下面改吧

        sprintf(topic, PSTR("%s/switch/%s_%d/config"), globalConfig.mqtt.discovery_prefix, UID, (ch + 1));
        if (isEnable)
        {
            cmndTopic[strlen(cmndTopic) - 1] = ch + 49;           // 48 + 1 + ch
            powerStatTopic[strlen(powerStatTopic) - 1] = ch + 49; // 48 + 1 + ch
            sprintf(message,
                    PSTR("{\"name\":\"%s_%d\","
                         "\"cmd_t\":\"%s\","
                         "\"stat_t\":\"%s\","
                         "\"pl_off\":\"off\","
                         "\"pl_on\":\"on\","
                         "\"avty_t\":\"%s\","
                         "\"pl_avail\":\"online\","
                         "\"unique_id\":\"%s_%d\","
                         "\"pl_not_avail\":\"offline\"}"),

                    UID, (ch),
                    cmndTopic,
                    powerStatTopic,
                    availability.c_str(),
                    UID, (ch));
            Mqtt::publish(topic, message, true);
            //Debug::AddInfo(PSTR("discovery: %s - %s"), topic, message);
        }
        else
        {
            Mqtt::publish(topic, "", true);
        }
    }

have fun

wanghuangjie commented 3 months ago

还有ch被我改了。 开关0是总开,依次1-2-3,更直观。

desinho commented 1 month ago

还有ch被我改了。 开关0是总开,依次1-2-3,更直观。

这个改哪里可以实现?