• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

NodeMCU время ntp и cron - есть корректный способ указать часовой пояс?

kostushko

New member
Здравствуйте

Использую прошивку NodeMCU, генерирую на сайте - https://nodemcu-build.com/index.php (выбираю библиотеки Cron/RTC time/SNTP и проч.)
Нужно отслеживание времени и выполнение заданий по cron'у, столкнулся с тем что обычная синхронизация через sntp.sync выдает время в UTC+0, а cron хотелось бы использовать в текущем часовом поясе (в моем случае +5 часов).
Если сдвигать время на +5 часов при синхронизации:
Код:
  sntp.sync(function(sec, usec, server, info)
      sec = sec + 3600*5
      rtctime.set(sec, usec)
   end,  function() print('sync failed') end,  1)
То на мой взгляд будет страдать точность хода, т.к. в модуле RTC time заявлена подстройка под данные синхронизации, и при больших расхождениях внутреннего времени с временем сервера с каждой синхронизацией этот таймер будет подстраиваться не правильно (это особенно актуально если будет использоваться еще и режим сна, т.е. устройство не будет постоянно онлайн).

Видится такие "костыли":
  1. своя реализация cron'а с учетом часового пояса
  2. писать задания cron в UTC+0
  3. забить на уход таймера после спящего режима и почаще синхронизировать время и каждый раз сдвигать его
Подскажите может есть простой и адекватный способ на данной прошивке и модулях учесть и часовой пояс и обеспечить точное время?
 
Сверху Снизу