diff --git a/src/utils/SerialPrint.cpp b/src/utils/SerialPrint.cpp index 6287029c..22e8b96c 100644 --- a/src/utils/SerialPrint.cpp +++ b/src/utils/SerialPrint.cpp @@ -1,14 +1,23 @@ #include "utils/SerialPrint.h" -void SerialPrint(String errorLevel, String module, String msg) { - String tosend; - - tosend = prettyMillis(millis()); - +void SerialPrint(String errorLevel, String module, String msg, String itemId) { + String tosend = prettyMillis(millis()); tosend = tosend + " [" + errorLevel + "] [" + module + "] " + msg; Serial.println(tosend); + if (errorLevel == "E") { + msg = cleanString(msg); + // создаем событие об ошибке для возможной реакции в сценарии + if (itemId != "") { + IoTItems.push_back((IoTItem *)new externalVariable("{\"id\":\"" + itemId + "_onError\",\"val\":\"" + msg + "\",\"int\":1}")); + generateEvent(itemId + "_onError", "1"); + } else { + IoTItems.push_back((IoTItem *)new externalVariable("{\"id\":\"onError\",\"val\":\"" + module + " " + msg + "\",\"int\":1}")); + generateEvent("onError", "1"); + } + } + if (isNetworkActive()) { if (jsonReadInt(settingsFlashJson, F("log")) != 0) { // String pl = "/log|" + tosend;