Установка времени ds3231 на esp8266

Тема в разделе "ESP8266, ESP32", создана пользователем vlforum, 5 апр 2020.

  1. vlforum

    vlforum Нуб

    Устанавливаю время такой функцией
    Код (C++):
    bool ESPTimeFunc::setTimeRTC(time_t epoch_time) {
        //ESP.eraseConfig();
        struct timeval epoch;
        epoch = {epoch_time, 0};
         settimeofday(&epoch, nullptr);
        _rtc.adjust(DateTime(epoch_time));  
    }
    Устанавливается верно, но после перезагрузки прибавляет 8 часов.
    Пытался устанавливать переменные
    Код (C++):
    settimeofday(&epoch, nullptr);
        if(_isDayLightSaving) {
            setenv("TZ", "CET-0CEST,M3.5.0,M10.5.0/3", 3);   // UTC + DST
            tzset();
        }
        else {
            setenv("TZ", "CET-0", 3);   // UTC
            tzset();  
        }
    Эффекта с 0-вым смещением временной зоны нет.

    Может кто работал так с временем?

    ПС: при получении времени от NTP (configTime) все работает корректно.