18static constexpr uint8_t AIRTON_TEMP_MIN = 16;
19static constexpr uint8_t AIRTON_TEMP_MAX = 31;
20static constexpr uint8_t AIRTON_AUTO_MODE_TEMP = 25;
22static constexpr uint8_t AIRTON_MODE_AUTO = 0b000;
23static constexpr uint8_t AIRTON_MODE_COOL = 0b001;
24static constexpr uint8_t AIRTON_MODE_HEAT = 0b100;
25static constexpr uint8_t AIRTON_MODE_DRY = 0b010;
26static constexpr uint8_t AIRTON_MODE_FAN = 0b011;
28static constexpr uint8_t AIRTON_FAN_AUTO = 0b000;
29static constexpr uint8_t AIRTON_FAN_1 = 0b001;
30static constexpr uint8_t AIRTON_FAN_2 = 0b010;
31static constexpr uint8_t AIRTON_FAN_3 = 0b011;
32static constexpr uint8_t AIRTON_FAN_4 = 0b100;
33static constexpr uint8_t AIRTON_FAN_5 = 0b101;
35static constexpr uint32_t AIRTON_IR_FREQUENCY = 38000;
36static constexpr uint32_t AIRTON_HEADER_MARK = 6630;
37static constexpr uint32_t AIRTON_HEADER_SPACE = 3350;
38static constexpr uint32_t AIRTON_BIT_MARK = 400;
39static constexpr remote_base::BitTimings AIRTON_BIT_TIMINGS{
40 .bit_mark = AIRTON_BIT_MARK, .one_space = 1260, .zero_space = 430};
41static constexpr uint32_t AIRTON_MESSAGE_SPACE = 100000;
43static constexpr uint8_t AIRTON_STATE_FRAME_SIZE = 7;
45static constexpr uint8_t AIRTON_HEADER_BYTE0 = 0xD3;
46static constexpr uint8_t AIRTON_HEADER_BYTE1 = 0x11;
76 : climate_ir::
ClimateIR(AIRTON_TEMP_MIN, AIRTON_TEMP_MAX, 1.0f, true, true,
80 void setup()
override;
81 void control(
const climate::ClimateCall &
call)
override;
bool set_display_state(bool state)
switch_::Switch * display_switch_
void set_display_switch(switch_::Switch *sw)
void set_setting(AirtonSetting setting, bool state)
void set_sleep_mode_switch(switch_::Switch *sw)
uint8_t operation_settings_()
bool sleep_mode_allowed_() const
void control(const climate::ClimateCall &call) override
uint8_t operation_mode_()
bool set_sleep_mode_state(bool state)
void transmit_state() override
void parse_state_frame_(const uint8_t *frame)
void set_vertical_direction_select(select::Select *sel)
void set_default_vertical_direction(VerticalDirection direction)
select::Select * vertical_direction_select_
bool set_vertical_direction_state(VerticalDirection direction)
switch_::Switch * sleep_mode_switch_
ESPPreferenceObject settings_pref_
bool on_receive(remote_base::RemoteReceiveData data) override
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())
Base-class for all selects.
Base class for all switches.
@ AIRTON_SETTING_SLEEP_MODE
@ VERTICAL_DIRECTION_DOWN
@ VERTICAL_DIRECTION_MIDDLE
@ VERTICAL_DIRECTION_MIDDLE_UP
@ VERTICAL_DIRECTION_MIDDLE_DOWN
@ VERTICAL_DIRECTION_SWING
@ CLIMATE_SWING_OFF
The swing mode is set to Off.
@ CLIMATE_SWING_VERTICAL
The fan mode is set to Vertical.
@ 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.
VerticalDirection vertical_direction