90 double current = this->
parent_->elevation();
91 if (std::isnan(current))
119 double elevation = this->elevation_.value(
x...);
120 double current = this->
parent_->elevation();
122 return current > elevation;
124 return current < elevation;
Base class for all automation conditions.
Helper class to easily give an object a parent of type T.
This class simplifies creating components that periodically check a state.
bool check(Ts... x) override
void set_above(bool above)
TEMPLATABLE_VALUE(double, elevation)
optional< ESPTime > calc_event_(bool rising, double zenith)
internal::HorizontalCoordinate calc_coords_()
void set_longitude(double longitude)
internal::GeoLocation location_
bool is_above_horizon(double elevation=-0.83333)
optional< ESPTime > sunset(double elevation)
void set_latitude(double latitude)
optional< ESPTime > sunrise(double elevation)
void set_time(time::RealTimeClock *time)
time::RealTimeClock * get_time() const
time::RealTimeClock * time_
void set_sunrise(bool sunrise)
void set_elevation(double elevation)
The RealTimeClock class exposes common timekeeping functions via the device's local real-time clock.
Providing packet encoding functions for exchanging data with a remote host.
A more user-friendly version of struct tm from time.h.
num_t declination_rad() const
num_t right_ascension_rad() const
num_t latitude_rad() const
num_t longitude_rad() const
num_t elevation_rad() const
num_t azimuth_rad() const