ESPHome 2026.5.0b1
Loading...
Searching...
No Matches
emmeti.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace esphome::emmeti {
6
7const uint8_t EMMETI_TEMP_MIN = 16; // Celsius
8const uint8_t EMMETI_TEMP_MAX = 30; // Celsius
9
10// Modes
11
19
20// Fan Speed
21
22enum EmmetiFanMode : uint8_t {
27};
28
29// Fan Position
30
43
44// IR Transmission
52
54 uint8_t mode = 0;
55 uint8_t bitmap = 0;
56 uint8_t fan_speed = 0;
57 uint8_t temp = 0;
58 uint8_t fan_pos = 0;
59 uint8_t th = 0;
60 uint8_t checksum = 0;
61};
62
64 public:
70
71 protected:
72 // Transmit via IR the state of this climate controller
73 void transmit_state() override;
74 // Handle received IR Buffer
75 bool on_receive(remote_base::RemoteReceiveData data) override;
76 bool parse_state_frame_(EmmetiState curr_state);
77
78 // setters
79 uint8_t set_mode_();
80 uint8_t set_temp_();
81 uint8_t set_fan_speed_();
82 uint8_t gen_checksum_();
83 uint8_t set_blades_();
84
85 // getters
88 void get_blades_(uint8_t fanpos);
89 // get swing
91 float get_temp_(uint8_t temp);
92
93 // check if the received frame is valid
94 bool check_checksum_(uint8_t checksum);
95
96 template<typename T> T reverse_(T val, size_t len);
97
98 template<typename T> void add_(T val, size_t len, esphome::remote_base::RemoteTransmitData *ata);
99
100 template<typename T> void add_(T val, esphome::remote_base::RemoteTransmitData *data);
101
102 template<typename T> void reverse_add_(T val, size_t len, esphome::remote_base::RemoteTransmitData *data);
103
105};
106
107} // namespace esphome::emmeti
uint8_t checksum
Definition bl0906.h:3
ClimateMode mode
The active mode of the climate device.
Definition climate.h:293
ClimateIR(float minimum_temperature, float maximum_temperature, float temperature_step=1.0f, bool supports_dry=false, bool supports_fan_only=false, climate::ClimateFanModeMask fan_modes=climate::ClimateFanModeMask(), climate::ClimateSwingModeMask swing_modes=climate::ClimateSwingModeMask(), climate::ClimatePresetMask presets=climate::ClimatePresetMask())
Definition climate_ir.h:25
bool on_receive(remote_base::RemoteReceiveData data) override
Definition emmeti.cpp:221
climate::ClimateSwingMode get_swing_(uint8_t bitmap)
Definition emmeti.cpp:124
void transmit_state() override
Definition emmeti.cpp:160
void add_(T val, size_t len, esphome::remote_base::RemoteTransmitData *ata)
Definition emmeti.cpp:136
bool parse_state_frame_(EmmetiState curr_state)
Definition emmeti.cpp:207
climate::ClimateFanMode get_fan_speed_(uint8_t fan)
Definition emmeti.cpp:110
T reverse_(T val, size_t len)
Definition emmeti.cpp:128
void reverse_add_(T val, size_t len, esphome::remote_base::RemoteTransmitData *data)
Definition emmeti.cpp:149
bool check_checksum_(uint8_t checksum)
Definition emmeti.cpp:153
float get_temp_(uint8_t temp)
Definition emmeti.cpp:91
void get_blades_(uint8_t fanpos)
climate::ClimateMode get_mode_(uint8_t mode)
Definition emmeti.cpp:93
mopeka_std_values val[3]
ClimateSwingMode
Enum for all modes a climate swing can be in NOTE: If adding values, update ClimateSwingModeMask in c...
@ CLIMATE_SWING_OFF
The swing mode is set to Off.
@ CLIMATE_SWING_VERTICAL
The fan mode is set to Vertical.
ClimateMode
Enum for all modes a climate device can be in.
ClimateFanMode
NOTE: If adding values, update ClimateFanModeMask in climate_traits.h to use the new last value.
@ CLIMATE_FAN_MEDIUM
The fan mode is set to Medium.
@ CLIMATE_FAN_AUTO
The fan mode is set to Auto.
@ CLIMATE_FAN_LOW
The fan mode is set to Low.
@ CLIMATE_FAN_HIGH
The fan mode is set to High.
const uint32_t EMMETI_MESSAGE_SPACE
Definition emmeti.h:51
const uint32_t EMMETI_ZERO_SPACE
Definition emmeti.h:50
const uint32_t EMMETI_HEADER_MARK
Definition emmeti.h:46
@ EMMETI_MODE_HEAT_COOL
Definition emmeti.h:13
const uint32_t EMMETI_IR_FREQUENCY
Definition emmeti.h:45
const uint32_t EMMETI_HEADER_SPACE
Definition emmeti.h:47
const uint32_t EMMETI_BIT_MARK
Definition emmeti.h:48
const uint8_t EMMETI_TEMP_MAX
Definition emmeti.h:8
@ EMMETI_BLADES_FULL
Definition emmeti.h:33
@ EMMETI_BLADES_MID
Definition emmeti.h:40
@ EMMETI_BLADES_STOP
Definition emmeti.h:32
@ EMMETI_BLADES_HIGH
Definition emmeti.h:41
@ EMMETI_BLADES_LOW
Definition emmeti.h:39
const uint8_t EMMETI_TEMP_MIN
Definition emmeti.h:7
const uint32_t EMMETI_ONE_SPACE
Definition emmeti.h:49
std::string size_t len
static void uint32_t