Compare commits

...
5 changed files with 15 additions and 13 deletions

No files matched your search

+3 -3
View File
@@ -32,9 +32,9 @@ struct DateEntityRestoreState {
class DateEntity : public DateTimeBase { class DateEntity : public DateTimeBase {
protected: protected:
uint16_t year_; uint16_t year_{0};
uint8_t month_; uint8_t month_{0};
uint8_t day_; uint8_t day_{0};
public: public:
void publish_state(); void publish_state();
+1 -1
View File
@@ -27,7 +27,7 @@ class DateTimeBase : public EntityBase {
LazyCallbackManager<void()> state_callback_; LazyCallbackManager<void()> state_callback_;
#ifdef USE_TIME #ifdef USE_TIME
time::RealTimeClock *rtc_; time::RealTimeClock *rtc_{nullptr};
#endif #endif
}; };
@@ -35,12 +35,12 @@ struct DateTimeEntityRestoreState {
class DateTimeEntity : public DateTimeBase { class DateTimeEntity : public DateTimeBase {
protected: protected:
uint16_t year_; uint16_t year_{0};
uint8_t month_; uint8_t month_{0};
uint8_t day_; uint8_t day_{0};
uint8_t hour_; uint8_t hour_{0};
uint8_t minute_; uint8_t minute_{0};
uint8_t second_; uint8_t second_{0};
public: public:
void publish_state(); void publish_state();
+3 -3
View File
@@ -33,9 +33,9 @@ struct TimeEntityRestoreState {
class TimeEntity : public DateTimeBase { class TimeEntity : public DateTimeBase {
protected: protected:
uint8_t hour_; uint8_t hour_{0};
uint8_t minute_; uint8_t minute_{0};
uint8_t second_; uint8_t second_{0};
public: public:
void publish_state(); void publish_state();
@@ -15,6 +15,8 @@ namespace esphome::template_ {
class TemplateTime final : public datetime::TimeEntity, public PollingComponent { class TemplateTime final : public datetime::TimeEntity, public PollingComponent {
public: public:
// User provided, not "= default": `new(p) TemplateTime()` would zero-fill .bss that is already zero.
TemplateTime() {}
template<typename F> void set_template(F &&f) { this->f_.set(std::forward<F>(f)); } template<typename F> void set_template(F &&f) { this->f_.set(std::forward<F>(f)); }
void setup() override; void setup() override;