ESPHome 2025.5.0
Loading...
Searching...
No Matches
uptime_text_sensor.h
Go to the documentation of this file.
1#pragma once
2
4
7
8namespace esphome {
9namespace uptime {
10
12 public:
13 UptimeTextSensor(const char *days_text, const char *hours_text, const char *minutes_text, const char *seconds_text,
14 const char *separator, bool expand)
15 : days_text_(days_text),
16 hours_text_(hours_text),
17 minutes_text_(minutes_text),
18 seconds_text_(seconds_text),
19 separator_(separator),
20 expand_(expand) {}
21 void update() override;
22 void dump_config() override;
23 void setup() override;
24
25 float get_setup_priority() const override;
26 void set_days(const char *days_text) { this->days_text_ = days_text; }
27 void set_hours(const char *hours_text) { this->hours_text_ = hours_text; }
28 void set_minutes(const char *minutes_text) { this->minutes_text_ = minutes_text; }
29 void set_seconds(const char *seconds_text) { this->seconds_text_ = seconds_text; }
30
31 protected:
32 void insert_buffer_(std::string &buffer, const char *key, unsigned value) const;
33 const char *days_text_;
34 const char *hours_text_;
35 const char *minutes_text_;
36 const char *seconds_text_;
37 const char *separator_;
38 bool expand_{};
39 uint32_t uptime_{0}; // uptime in seconds, will overflow after 136 years
40 uint32_t last_ms_{0};
41};
42
43} // namespace uptime
44} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:301
void set_days(const char *days_text)
UptimeTextSensor(const char *days_text, const char *hours_text, const char *minutes_text, const char *seconds_text, const char *separator, bool expand)
void set_hours(const char *hours_text)
float get_setup_priority() const override
void set_seconds(const char *seconds_text)
void set_minutes(const char *minutes_text)
void insert_buffer_(std::string &buffer, const char *key, unsigned value) const
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7