esphome-api-client 0.5.0
Modern C++17 client for the ESPHome native API (plaintext + Noise)
Loading...
Searching...
No Matches
water_heater.hpp
Go to the documentation of this file.
1#pragma once
2
5
9
10#include <cstdint>
11#include <memory>
12#include <optional>
13#include <vector>
14
15namespace esphome::api {
16
17namespace proto {
18class ListEntitiesWaterHeaterResponse;
19class WaterHeaterStateResponse;
20class WaterHeaterCommandRequest;
21} // namespace proto
22
33
36 std::uint32_t key = 0;
37 float current_temperature = 0.0F;
38 float target_temperature = 0.0F;
41 std::uint32_t state = 0;
44};
45
51 std::uint32_t key = 0;
52 std::optional<WaterHeaterMode> mode;
53 std::optional<float> target_temperature;
54 std::optional<float> target_temperature_low;
55 std::optional<float> target_temperature_high;
57 std::optional<bool> on_state;
59 std::optional<bool> away_state;
60};
61
62WaterHeaterInfo parse_water_heater_info(const proto::ListEntitiesWaterHeaterResponse& msg);
63WaterHeaterState parse_water_heater_state(const proto::WaterHeaterStateResponse& msg);
64std::unique_ptr<ProtoMessage> to_message(const WaterHeaterCommand& cmd);
65
66} // namespace esphome::api
Common entity metadata shared by every entity domain.
Typed mirrors of the ESPHome protobuf enums.
Definition bytes.hpp:10
WaterHeaterState parse_water_heater_state(const proto::WaterHeaterStateResponse &msg)
TemperatureUnit
Mirror of proto enum TemperatureUnit.
Definition enums.hpp:131
std::unique_ptr< ProtoMessage > to_message(const AlarmControlPanelCommand &cmd)
WaterHeaterInfo parse_water_heater_info(const proto::ListEntitiesWaterHeaterResponse &msg)
WaterHeaterMode
Mirror of proto enum WaterHeaterMode.
Definition enums.hpp:194
Lightweight base class for every generated ESPHome API message.
Fields present on every ListEntities*Response.
Definition entity.hpp:16
A command to mutate a water heater.
Definition water_heater.hpp:50
std::optional< float > target_temperature_low
Definition water_heater.hpp:54
std::optional< float > target_temperature
Definition water_heater.hpp:53
std::optional< float > target_temperature_high
Definition water_heater.hpp:55
std::optional< bool > on_state
On/off flag (bit 1 of the state bitmask).
Definition water_heater.hpp:57
std::optional< bool > away_state
Away flag (bit 0 of the state bitmask).
Definition water_heater.hpp:59
std::optional< WaterHeaterMode > mode
Definition water_heater.hpp:52
std::uint32_t key
Definition water_heater.hpp:51
Static description of a water heater entity.
Definition water_heater.hpp:24
std::uint32_t supported_features
Bitmask of WaterHeaterFeature flags.
Definition water_heater.hpp:30
float min_temperature
Definition water_heater.hpp:25
std::vector< WaterHeaterMode > supported_modes
Definition water_heater.hpp:28
float max_temperature
Definition water_heater.hpp:26
TemperatureUnit temperature_unit
Definition water_heater.hpp:31
float target_temperature_step
Definition water_heater.hpp:27
A water heater's reported state.
Definition water_heater.hpp:35
float target_temperature
Definition water_heater.hpp:38
std::uint32_t state
Bitmask of current state flags (bit 0 = away, bit 1 = on).
Definition water_heater.hpp:41
std::uint32_t key
Definition water_heater.hpp:36
float target_temperature_high
Definition water_heater.hpp:43
float target_temperature_low
Definition water_heater.hpp:42
float current_temperature
Definition water_heater.hpp:37
WaterHeaterMode mode
Definition water_heater.hpp:39