добавляем поддержку сохранения значений IoTItems

This commit is contained in:
2022-03-27 09:11:24 +03:00
parent 613d60256a
commit fe7b1f6a39
2 changed files with 7 additions and 4 deletions

View File

@@ -31,6 +31,8 @@ class IoTItem {
bool iAmDead = false; // признак необходимости удалить объект из базы
bool iAmLocal = true; // признак локальной переменной
bool needSave = false;
virtual IoTGpio* getGpioDriver();
virtual void setValue(IoTValue Value);

View File

@@ -12,18 +12,19 @@ class Timer : public IoTItem {
public:
Timer(String parameters): IoTItem(parameters) {
jsonRead(parameters, "countDown", value.valD);
float valDtmp;
jsonRead(parameters, "countDown", valDtmp);
if (value.valD == 0) value.valD = valDtmp;
jsonRead(parameters, "ticker", _ticker);
jsonRead(parameters, "repeat", _repeat);
if (_repeat) _repeat = value.valD; // если в параметрах просят повторить, то запоминаем настроечное значение отчета
if (_repeat) _repeat = valDtmp; // если в параметрах просят повторить, то запоминаем настроечное значение отчета
_unfin = !value.valD;
}
void doByInterval() {
if (!_unfin && value.valD) {
value.valD--;
needSave = true;
if (value.valD == 0) {
regEvent(value.valD, "Time's up");
if (_repeat) value.valD = _repeat;