| 1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * TimerManager.h
- *
- * Created on: 12.07.2026
- * Author: FSmilari
- */
-
- #ifndef TIMERMANAGER_H_
- #define TIMERMANAGER_H_
-
- #include "ConfigManager.h"
- #include "NTPClient.h"
- #include <WiFiUdp.h>
-
- 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_ */
|