esphome-api-client 0.5.0
Modern C++17 client for the ESPHome native API (plaintext + Noise)
Loading...
Searching...
No Matches
climate.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 <string>
14#include <vector>
15
16namespace esphome::api {
17
18namespace proto {
19class ListEntitiesClimateResponse;
20class ClimateStateResponse;
21class ClimateCommandRequest;
22} // namespace proto
23
26 std::vector<ClimateMode> supported_modes;
30 std::vector<ClimateFanMode> supported_fan_modes;
31 std::vector<ClimateSwingMode> supported_swing_modes;
32 std::vector<std::string> supported_custom_fan_modes;
33 std::vector<ClimatePreset> supported_presets;
34 std::vector<std::string> supported_custom_presets;
36 float visual_min_humidity = 0.0F;
37 float visual_max_humidity = 0.0F;
38 std::uint32_t feature_flags = 0;
40};
41
59
62 std::uint32_t key = 0;
63 std::optional<ClimateMode> mode;
64 std::optional<float> target_temperature;
65 std::optional<float> target_temperature_low;
66 std::optional<float> target_temperature_high;
67 std::optional<ClimateFanMode> fan_mode;
68 std::optional<ClimateSwingMode> swing_mode;
69 std::optional<std::string> custom_fan_mode;
70 std::optional<ClimatePreset> preset;
71 std::optional<std::string> custom_preset;
72 std::optional<float> target_humidity;
73};
74
75ClimateInfo parse_climate_info(const proto::ListEntitiesClimateResponse& msg);
76ClimateState parse_climate_state(const proto::ClimateStateResponse& msg);
77std::unique_ptr<ProtoMessage> to_message(const ClimateCommand& cmd);
78
79} // namespace esphome::api
Common entity metadata shared by every entity domain.
Typed mirrors of the ESPHome protobuf enums.
Definition bytes.hpp:10
TemperatureUnit
Mirror of proto enum TemperatureUnit.
Definition enums.hpp:131
std::unique_ptr< ProtoMessage > to_message(const AlarmControlPanelCommand &cmd)
ClimateSwingMode
Mirror of proto enum ClimateSwingMode.
Definition enums.hpp:163
ClimateInfo parse_climate_info(const proto::ListEntitiesClimateResponse &msg)
ClimateMode
Mirror of proto enum ClimateMode.
Definition enums.hpp:138
ClimatePreset
Mirror of proto enum ClimatePreset.
Definition enums.hpp:182
ClimateAction
Mirror of proto enum ClimateAction.
Definition enums.hpp:171
ClimateState parse_climate_state(const proto::ClimateStateResponse &msg)
ClimateFanMode
Mirror of proto enum ClimateFanMode.
Definition enums.hpp:149
Lightweight base class for every generated ESPHome API message.
A command to mutate a climate entity. Each optional field is sent only when engaged.
Definition climate.hpp:61
std::optional< ClimateSwingMode > swing_mode
Definition climate.hpp:68
std::optional< std::string > custom_fan_mode
Definition climate.hpp:69
std::optional< float > target_temperature
Definition climate.hpp:64
std::optional< float > target_temperature_high
Definition climate.hpp:66
std::optional< ClimateFanMode > fan_mode
Definition climate.hpp:67
std::optional< float > target_temperature_low
Definition climate.hpp:65
std::optional< std::string > custom_preset
Definition climate.hpp:71
std::optional< ClimatePreset > preset
Definition climate.hpp:70
std::optional< ClimateMode > mode
Definition climate.hpp:63
std::uint32_t key
Definition climate.hpp:62
std::optional< float > target_humidity
Definition climate.hpp:72
Static description of a climate entity.
Definition climate.hpp:25
std::vector< ClimateSwingMode > supported_swing_modes
Definition climate.hpp:31
float visual_min_temperature
Definition climate.hpp:27
std::uint32_t feature_flags
Definition climate.hpp:38
std::vector< ClimateMode > supported_modes
Definition climate.hpp:26
std::vector< ClimateFanMode > supported_fan_modes
Definition climate.hpp:30
float visual_max_humidity
Definition climate.hpp:37
float visual_max_temperature
Definition climate.hpp:28
TemperatureUnit temperature_unit
Definition climate.hpp:39
std::vector< std::string > supported_custom_presets
Definition climate.hpp:34
std::vector< ClimatePreset > supported_presets
Definition climate.hpp:33
std::vector< std::string > supported_custom_fan_modes
Definition climate.hpp:32
float visual_current_temperature_step
Definition climate.hpp:35
float visual_min_humidity
Definition climate.hpp:36
float visual_target_temperature_step
Definition climate.hpp:29
A climate entity's reported state.
Definition climate.hpp:43
float current_humidity
Definition climate.hpp:56
float target_temperature_high
Definition climate.hpp:49
float target_temperature_low
Definition climate.hpp:48
ClimateFanMode fan_mode
Definition climate.hpp:51
ClimateSwingMode swing_mode
Definition climate.hpp:52
float current_temperature
Definition climate.hpp:46
float target_temperature
Definition climate.hpp:47
float target_humidity
Definition climate.hpp:57
ClimatePreset preset
Definition climate.hpp:54
std::uint32_t key
Definition climate.hpp:44
std::string custom_preset
Definition climate.hpp:55
ClimateAction action
Definition climate.hpp:50
ClimateMode mode
Definition climate.hpp:45
std::string custom_fan_mode
Definition climate.hpp:53
Fields present on every ListEntities*Response.
Definition entity.hpp:16