ESPHome  2023.8.3
heatpumpir.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifdef USE_ARDUINO
4 
6 
7 // Forward-declare HeatpumpIR class from library. We cannot include its header here because it has unnamespaced defines
8 // that conflict with ESPHome.
9 class HeatpumpIR;
10 
11 namespace esphome {
12 namespace heatpumpir {
13 
14 // Simple enum to represent protocols.
15 enum Protocol {
57 };
58 
59 // Simple enum to represent horizontal directios
67 };
68 
69 // Simple enum to represent vertical directions
77 };
78 
79 // Temperature
80 const float TEMP_MIN = 0; // Celsius
81 const float TEMP_MAX = 100; // Celsius
82 
84  public:
86  : climate_ir::ClimateIR(
87  TEMP_MIN, TEMP_MAX, 1.0f, true, true,
90  std::set<climate::ClimateSwingMode>{climate::CLIMATE_SWING_OFF, climate::CLIMATE_SWING_HORIZONTAL,
92  void setup() override;
93  void set_protocol(Protocol protocol) { this->protocol_ = protocol; }
94  void set_horizontal_default(HorizontalDirection horizontal_direction) {
95  this->default_horizontal_direction_ = horizontal_direction;
96  }
97  void set_vertical_default(VerticalDirection vertical_direction) {
98  this->default_vertical_direction_ = vertical_direction;
99  }
100 
103 
104  protected:
105  HeatpumpIR *heatpump_ir_;
107  void transmit_state() override;
111 
114 };
115 
116 } // namespace heatpumpir
117 } // namespace esphome
118 
119 #endif
void set_vertical_default(VerticalDirection vertical_direction)
Definition: heatpumpir.h:97
The fan mode is set to Low.
Definition: climate_mode.h:54
The fan mode is set to Both.
Definition: climate_mode.h:74
void set_min_temperature(float temperature)
Definition: heatpumpir.h:102
STL namespace.
void set_max_temperature(float temperature)
Definition: heatpumpir.h:101
float temperature
Definition: qmp6988.h:71
void transmit_state() override
Transmit via IR the state of this climate controller.
Definition: heatpumpir.cpp:82
const float TEMP_MAX
Definition: heatpumpir.h:81
HorizontalDirection default_horizontal_direction_
Definition: heatpumpir.h:109
The fan mode is set to Horizontal.
Definition: climate_mode.h:78
void set_horizontal_default(HorizontalDirection horizontal_direction)
Definition: heatpumpir.h:94
The fan mode is set to Auto.
Definition: climate_mode.h:52
const float TEMP_MIN
Definition: heatpumpir.h:80
ClimateIR(float minimum_temperature, float maximum_temperature, float temperature_step=1.0f, bool supports_dry=false, bool supports_fan_only=false, std::set< climate::ClimateFanMode > fan_modes={}, std::set< climate::ClimateSwingMode > swing_modes={}, std::set< climate::ClimatePreset > presets={})
Definition: climate_ir.h:23
void set_protocol(Protocol protocol)
Definition: heatpumpir.h:93
The fan mode is set to Vertical.
Definition: climate_mode.h:76
VerticalDirection default_vertical_direction_
Definition: heatpumpir.h:110
The fan mode is set to High.
Definition: climate_mode.h:58
The swing mode is set to Off.
Definition: climate_mode.h:72
The fan mode is set to Medium.
Definition: climate_mode.h:56