mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
Добавляем в RTC установку и чтение времени из сценария в числах
This commit is contained in:
@@ -63,6 +63,42 @@ class RTC : public IoTItem {
|
|||||||
valTmp.valS = _watch->gettime(param[0].valS + " ");
|
valTmp.valS = _watch->gettime(param[0].valS + " ");
|
||||||
return valTmp;
|
return valTmp;
|
||||||
}
|
}
|
||||||
|
} else if (command == "setUnixTime") {
|
||||||
|
if (param.size() == 1) {
|
||||||
|
long ut = strtoul(param[0].valS.c_str(), nullptr, 10);
|
||||||
|
_watch->settimeUnix(ut);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
} else if (command == "setTime") {
|
||||||
|
if (param.size() == 6) {
|
||||||
|
_watch->settime(param[0].valD, param[1].valD, param[2].valD, param[3].valD, param[4].valD, param[5].valD); //сек, мин, час, день, мес, год
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
} else if (command == "getTimeFloat") {
|
||||||
|
if (param.size() == 1) {
|
||||||
|
IoTValue valTmp;
|
||||||
|
_watch->gettime();
|
||||||
|
valTmp.isDecimal = true;
|
||||||
|
String type = param[0].valS;
|
||||||
|
if (type == "H") {
|
||||||
|
valTmp.valD = static_cast<float>(_watch->Hours);
|
||||||
|
} else if (type == "i") {
|
||||||
|
valTmp.valD = static_cast<float>(_watch->minutes);
|
||||||
|
} else if (type == "s") {
|
||||||
|
valTmp.valD = static_cast<float>(_watch->seconds);
|
||||||
|
} else if (type == "w") {
|
||||||
|
valTmp.valD = static_cast<float>(_watch->weekday);
|
||||||
|
} else if (type == "d") {
|
||||||
|
valTmp.valD = static_cast<float>(_watch->day);
|
||||||
|
} else if (type == "m") {
|
||||||
|
valTmp.valD = static_cast<float>(_watch->month);
|
||||||
|
} else if (type == "Y") {
|
||||||
|
valTmp.valD = static_cast<float>(_watch->year);
|
||||||
|
} else {
|
||||||
|
return {}; // Если переданный тип не поддерживается
|
||||||
|
}
|
||||||
|
return valTmp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
|||||||
@@ -54,6 +54,27 @@
|
|||||||
"params": [
|
"params": [
|
||||||
"Формат как у функции date() в PHP"
|
"Формат как у функции date() в PHP"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setTime",
|
||||||
|
"descr": "Установить время через сценарии в формате сек, мин, час, день, мес, год.",
|
||||||
|
"params": [
|
||||||
|
"сек", "мин", "час", "день", "мес", "год"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setUnixTime",
|
||||||
|
"descr": "Установить время через сценарий в формате юникстайм",
|
||||||
|
"params": [
|
||||||
|
"rtc.setUnixTime('46489234') - параметр в виде строки"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "getTimeFloat",
|
||||||
|
"descr": "Получить числовое значение времени по указанному формату",
|
||||||
|
"params": [
|
||||||
|
"s - Вернуть секунды, i - Вернуть минуты, H - Вернуть часы в 24-часовом формате, d - Вернуть день месяца, w - Вернуть день недели, m - Вернуть месяц, Y - Вернуть год(4 знака)"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user