ESPHome 2026.5.0-dev
Loading...
Searching...
No Matches
number_call.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/log.h"
5#include "number_traits.h"
6
7namespace esphome::number {
8
9class Number;
10
19
21 public:
22 explicit NumberCall(Number *parent) : parent_(parent) {}
23 void perform();
24
25 NumberCall &set_value(float value);
26 NumberCall &number_increment(bool cycle);
27 NumberCall &number_decrement(bool cycle);
30
32 NumberCall &with_value(float value);
33 NumberCall &with_cycle(bool cycle);
34
35 protected:
36 float cycle_or_clamp_(float clamp, float opposite) const {
37 return (this->cycle_ && !std::isnan(opposite)) ? opposite : clamp;
38 }
39 void log_perform_warning_(const LogString *message);
40 void log_perform_warning_value_range_(const LogString *comparison, const LogString *limit_type, float val,
41 float limit);
42
44 optional<float> value_;
46 bool cycle_{false};
47};
48
49} // namespace esphome::number
NumberCall & with_cycle(bool cycle)
NumberCall & number_decrement(bool cycle)
float cycle_or_clamp_(float clamp, float opposite) const
Definition number_call.h:36
NumberCall & with_operation(NumberOperation operation)
NumberCall(Number *parent)
Definition number_call.h:22
NumberCall & number_increment(bool cycle)
void log_perform_warning_(const LogString *message)
NumberCall & set_value(float value)
NumberCall & with_value(float value)
NumberOperation operation_
Definition number_call.h:45
void log_perform_warning_value_range_(const LogString *comparison, const LogString *limit_type, float val, float limit)
optional< float > value_
Definition number_call.h:44
Base-class for all numbers.
Definition number.h:29
const char * message
Definition component.cpp:35
mopeka_std_values val[3]