mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 14:12:16 +03:00
Добавляем в RTC установку и чтение времени из сценария в числах
This commit is contained in:
@@ -63,6 +63,42 @@ class RTC : public IoTItem {
|
||||
valTmp.valS = _watch->gettime(param[0].valS + " ");
|
||||
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 {};
|
||||
|
||||
@@ -54,6 +54,27 @@
|
||||
"params": [
|
||||
"Формат как у функции 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