diff --git a/src/modules/system/IarduinoRTC/IarduinoRTC.cpp b/src/modules/system/IarduinoRTC/IarduinoRTC.cpp index 6493c808..5b8ada9f 100644 --- a/src/modules/system/IarduinoRTC/IarduinoRTC.cpp +++ b/src/modules/system/IarduinoRTC/IarduinoRTC.cpp @@ -26,7 +26,6 @@ class IarduinoRTC : public IoTItem { jsonRead(parameters, "dat", _dat); jsonRead(parameters, "defFormat", _defFormat); jsonRead(parameters, "ticker", _ticker); - _defFormat = _defFormat + " "; // костыль против обрезки последнего символа в библиотеке switch (_chipNum) { case 0: @@ -50,16 +49,17 @@ class IarduinoRTC : public IoTItem { void doByInterval() { value.isDecimal = false; - value.valS = watch->gettime(_defFormat); + value.valS = watch->gettime(_defFormat.c_str()); if (_ticker) regEvent(value.valS, "time ticker"); } IoTValue execute(String command, std::vector ¶m) { + IoTValue tmpValue; if (command == "getTime") { if (param.size()) { - value.isDecimal = false; - value.valS = watch->gettime(param[0].valS); - return value; + tmpValue.isDecimal = false; + tmpValue.valS = watch->gettime(param[0].valS.c_str()); + return tmpValue; } } else if (command == "saveSysTime") { tm localTimeVar; diff --git a/src/modules/system/SysExt/SysExt.cpp b/src/modules/system/SysExt/SysExt.cpp index cdac0c43..4f0541d3 100644 --- a/src/modules/system/SysExt/SysExt.cpp +++ b/src/modules/system/SysExt/SysExt.cpp @@ -54,7 +54,7 @@ class SysExt : public IoTItem { } else if (command == "getTime") { if (param.size()) { value.isDecimal = false; - value.valS = watch->gettime(param[0].valS); + value.valS = watch->gettime(param[0].valS.c_str()); return value; } }