Добавляем поддержку формата {"status":"0"} в MQTT control

для возможности получать статус и значение в одном формате, это нужно для корректной работы панели управления, например, Алисы
This commit is contained in:
2023-02-14 22:27:32 +03:00
parent c362c5e0bc
commit aad28b04bc

View File

@@ -160,9 +160,14 @@ void mqttCallback(char* topic, uint8_t* payload, size_t length) {
#endif
}
else if (topicStr.indexOf("control") != -1) {
else if (topicStr.indexOf(F("control")) != -1) {
String key = selectFromMarkerToMarker(topicStr, "/", 3);
generateOrder(key, payloadStr);
String valueIfJson = ""; // проверяем формат, если json то берем статус, иначе - как есть
if (!jsonRead(payloadStr, F("status"), valueIfJson, false))
generateOrder(key, payloadStr);
else generateOrder(key, valueIfJson);
SerialPrint("i", F("=>MQTT"), "Msg from iotmanager app: " + key + " " + payloadStr);
}