/* * TimerManager.h * * Created on: 12.07.2026 * Author: FSmilari */ #ifndef TIMERMANAGER_H_ #define TIMERMANAGER_H_ #include "ConfigManager.h" #include "NTPClient.h" #include class TimerManager { public: TimerManager(ConfigManager &configManager); virtual ~TimerManager(); void begin(); void onTimerStatusChange(const char *timerStatus); void onTimerIntervalChange(String timerIntervalName, const char *timerInterval); void saveTimerInterval(String timerIntervalName, uint32_t start, uint32_t end); bool isNowInTimeInterval(); private: ConfigManager &configManager; NTPClient ntpClient; uint32_t timeToSeconds(uint8_t hour, uint8_t minute, uint8_t second); bool parseTimeInterval(const char *str, TimeInterval &interval); bool isDST(int month, int day, int weekday); bool isInInterval(uint32_t now, const TimeInterval &interval); String secondsToFormatedTime(uint32_t seconds); }; #endif /* TIMERMANAGER_H_ */