ESPHome
2025.2.2
Main Page
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
y
+
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
d
e
f
i
j
l
m
n
p
q
r
s
t
u
v
+
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
+
Data Fields
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
c
d
o
p
s
t
v
w
+
Enumerations
b
c
e
f
i
m
n
p
r
s
t
v
+
Enumerator
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
Related Functions
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
+
Functions
_
a
l
m
o
s
t
u
+
Variables
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
esphome
esphome
components
sun
text_sensor
sun_text_sensor.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/component.h
"
4
#include "
esphome/core/time.h
"
5
6
#include "
esphome/components/sun/sun.h
"
7
#include "
esphome/components/text_sensor/text_sensor.h
"
8
9
namespace
esphome
{
10
namespace
sun {
11
12
class
SunTextSensor
:
public
text_sensor::TextSensor
,
public
PollingComponent
{
13
public
:
14
void
set_parent
(
Sun
*parent) {
parent_
= parent; }
15
void
set_elevation
(
double
elevation) {
elevation_
= elevation; }
16
void
set_sunrise
(
bool
sunrise) {
sunrise_
= sunrise; }
17
void
set_format
(
const
std::string &format) {
format_
= format; }
18
19
void
update
()
override
{
20
optional<ESPTime>
res;
21
if
(this->
sunrise_
) {
22
res = this->
parent_
->
sunrise
(this->
elevation_
);
23
}
else
{
24
res = this->
parent_
->
sunset
(this->
elevation_
);
25
}
26
if
(!res) {
27
this->
publish_state
(
""
);
28
return
;
29
}
30
31
this->
publish_state
(res->strftime(this->format_));
32
}
33
34
void
dump_config
()
override
;
35
36
protected
:
37
std::string
format_
{};
38
Sun
*
parent_
;
39
double
elevation_
;
40
bool
sunrise_
;
41
};
42
43
}
// namespace sun
44
}
// namespace esphome
esphome::sun::SunTextSensor::set_sunrise
void set_sunrise(bool sunrise)
Definition:
sun_text_sensor.h:16
time.h
esphome::sun::SunTextSensor::set_elevation
void set_elevation(double elevation)
Definition:
sun_text_sensor.h:15
sun.h
esphome::sun::SunTextSensor
Definition:
sun_text_sensor.h:12
esphome::sun::SunTextSensor::update
void update() override
Definition:
sun_text_sensor.h:19
esphome::sun::SunTextSensor::set_format
void set_format(const std::string &format)
Definition:
sun_text_sensor.h:17
esphome::PollingComponent
This class simplifies creating components that periodically check a state.
Definition:
component.h:283
esphome::text_sensor::TextSensor::publish_state
void publish_state(const std::string &state)
Definition:
text_sensor.cpp:9
esphome::sun::SunTextSensor::format_
std::string format_
Definition:
sun_text_sensor.h:37
esphome::sun::Sun::sunrise
optional< ESPTime > sunrise(double elevation)
Definition:
sun.cpp:314
esphome::sun::Sun::sunset
optional< ESPTime > sunset(double elevation)
Definition:
sun.cpp:315
esphome::text_sensor::TextSensor
Definition:
text_sensor.h:34
esphome::sun::SunTextSensor::sunrise_
bool sunrise_
Definition:
sun_text_sensor.h:40
esphome::sun::SunTextSensor::set_parent
void set_parent(Sun *parent)
Definition:
sun_text_sensor.h:14
esphome::sun::Sun
Definition:
sun.h:55
esphome::sun::SunTextSensor::parent_
Sun * parent_
Definition:
sun_text_sensor.h:38
esphome::sun::SunTextSensor::dump_config
void dump_config() override
Definition:
sun_text_sensor.cpp:9
esphome::optional
Definition:
optional.h:36
esphome
Implementation of SPI Controller mode.
Definition:
a01nyub.cpp:7
component.h
esphome::sun::SunTextSensor::elevation_
double elevation_
Definition:
sun_text_sensor.h:39
text_sensor.h
Generated by
1.8.13