ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
valve_traits.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
5namespace esphome::valve {
6
8 public:
9 ValveTraits() = default;
10
11 bool get_is_assumed_state() const { return this->flags_.is_assumed_state; }
12 void set_is_assumed_state(bool is_assumed_state) { this->flags_.is_assumed_state = is_assumed_state; }
13 bool get_supports_position() const { return this->flags_.supports_position; }
14 void set_supports_position(bool supports_position) { this->flags_.supports_position = supports_position; }
15 bool get_supports_toggle() const { return this->flags_.supports_toggle; }
16 void set_supports_toggle(bool supports_toggle) { this->flags_.supports_toggle = supports_toggle; }
17 bool get_supports_stop() const { return this->flags_.supports_stop; }
18 void set_supports_stop(bool supports_stop) { this->flags_.supports_stop = supports_stop; }
19
20 protected:
21 // Bit-packed flags to save memory (1 byte instead of 4)
23 uint8_t is_assumed_state : 1;
24 uint8_t supports_position : 1;
25 uint8_t supports_toggle : 1;
26 uint8_t supports_stop : 1;
27 uint8_t reserved : 4;
28 } flags_{};
29};
30
31} // namespace esphome::valve
void set_supports_position(bool supports_position)
void set_supports_stop(bool supports_stop)
bool get_is_assumed_state() const
struct esphome::valve::ValveTraits::ValveTraitFlags flags_
void set_is_assumed_state(bool is_assumed_state)
bool get_supports_position() const
void set_supports_toggle(bool supports_toggle)