1
0
mirror of https://github.com/esphome/esphome.git synced 2025-04-14 06:40:32 +01:00

real_time_clock: Apply timezone immediately in set_timezone() (#8531)

This commit is contained in:
David Woodhouse 2025-04-09 01:03:38 +01:00 committed by GitHub
parent 399c9ba4be
commit 8c5adfb33f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 7 deletions

View File

@ -21,10 +21,6 @@ namespace time {
static const char *const TAG = "time";
RealTimeClock::RealTimeClock() = default;
void RealTimeClock::call_setup() {
this->apply_timezone_();
PollingComponent::call_setup();
}
void RealTimeClock::synchronize_epoch_(uint32_t epoch) {
// Update UTC epoch time.
struct timeval timev {

View File

@ -21,7 +21,10 @@ class RealTimeClock : public PollingComponent {
explicit RealTimeClock();
/// Set the time zone.
void set_timezone(const std::string &tz) { this->timezone_ = tz; }
void set_timezone(const std::string &tz) {
this->timezone_ = tz;
this->apply_timezone_();
}
/// Get the time zone currently in use.
std::string get_timezone() { return this->timezone_; }
@ -35,8 +38,6 @@ class RealTimeClock : public PollingComponent {
/// Get the current time as the UTC epoch since January 1st 1970.
time_t timestamp_now() { return ::time(nullptr); }
void call_setup() override;
void add_on_time_sync_callback(std::function<void()> callback) {
this->time_sync_callback_.add(std::move(callback));
};