В IotManager ver4 реализована работа со временем. Дата и время могут быть получены как с сервера Интернет или Интранет, так и с модуля часов реального времени подключенного к ESP.
Конфигурация производится добавлением элемента RTC (Часы реального времени).
«chipCode»: «RX8025 — 4, DS3231 — 3, DS1307 — 2, DS1302 — 1 (необходимо установить пины RST, CLK и DAT)»,
«timeFormat»: «Формат времени для вывода. Как у функции date() в PHP»,
«RST»: «Пин RST»,
«CLK»: «Пин CLK»,
«DAT»: «Пин DAT»,
«ticker»: «Генерировать(1) или нет(0) события при каждом тике часов (каждые int секунд).»,
«int»: «Количество секунд между получениями данных из модуля»,
«btn-setUTime»: «Кнопка установки времени модуля на основе указанного unixtime»,
«btn-setSysTime»: «Кнопка установки времени модуля на основе системного с платы ESP»
Время можно использовать в сценариях. Некоторые примеры для использования в сценариях:
строка чтения: rtc4.getTime(«d-m-Y, H:i:s, M»);
Пример вывода даты и времени на LCD:
if timer == 0 then LCD.id2show(rtc4.getTime(«d-m-Y, H:i:s, M»));
Присваивание переменной:
if timer == 0 then LCD = rtc4.getTime(«d-m-Y, H:i:s, M»); #Переменная LCD должна быть создана
Срабатывание по времени:
if rtc4.getTime(«H:i»)==»19:30″ then {txt1 = «сработало расписание»; Rele1=1;}
Вариант события тоже рабочий:
if «23»==rtc4.getTime(«i») then btn1=1;
Функция rtc4.getTime() возвращает строковое значение. Его хорошо использовать в сравнениях ==, но нельзя использовать в операторах <> и в математических операциях.
В разработке…
Для этого появились новые функции: getHours, getMinutes, getSeconds, getMonth, getDay. Эти функции возвращают число.
RTC.getHours() // Часы 0-23
RTC.getMinutes() // Минуты 0-59
RTC.getSeconds() // Секунды 0-59
RTC.getMonth() // Месяц 1-12
RTC.getDay() // День месяца 1-31
Пример использования в сценариях:
if RTCmy.getMinutes() == 53 then led2=1;
if RTCmy.getMinutes() == 55 then minutes=RTCmy.getMinutes();
Где RTCmy — ID вашего RTC объекта.
Такое оповещение для экономных)) :
if RTC.getHours() == 23 then val = «Ночь, дешевое электричество!»;