9static constexpr uint8_t DAIKIN_BRC_HEADER_BYTE0 = 0x11;
10static constexpr uint8_t DAIKIN_BRC_HEADER_BYTE1 = 0xDA;
11static constexpr uint8_t DAIKIN_BRC_HEADER_BYTE2 = 0x17;
12static constexpr uint8_t DAIKIN_BRC_HEADER_BYTE3 = 0x18;
13static constexpr uint8_t DAIKIN_BRC_FRAME_TYPE_STATE = 0x00;
21 ClimateIR::control(
call);
26 0xDA, 0x17, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
27 0x00, 0x00, 0x00, 0x00, 0x20, 0x00};
46 auto *data = transmit.get_data();
67 uint8_t alt_mode = 0x00;
109 return operating_mode;
142 switch (this->
mode) {
154 temperature = (uint8_t) roundf(
166 ESP_LOGCONFIG(TAG,
"Bad CheckSum %x",
checksum);
170 uint8_t
mode = frame[7];
172 switch (
mode & 0xF0) {
236 state_frame[0] != DAIKIN_BRC_HEADER_BYTE0 || state_frame[1] != DAIKIN_BRC_HEADER_BYTE1 ||
237 state_frame[2] != DAIKIN_BRC_HEADER_BYTE2 || state_frame[3] != (DAIKIN_BRC_HEADER_BYTE3 | this->sub_unit_) ||
238 state_frame[4] != DAIKIN_BRC_FRAME_TYPE_STATE) {
This class is used to encode all control actions on a climate device.
const optional< ClimateMode > & get_mode() const
ClimateMode mode
The active mode of the climate device.
optional< ClimateFanMode > fan_mode
The active fan mode of the climate device.
float target_temperature
The target temperature of the climate device.
ClimateSwingMode swing_mode
The active swing mode of the climate device.
void publish_state()
Publish the state of the climate device, to be called from integrations.
bool parse_state_frame_(const uint8_t frame[])
void transmit_state() override
void control(const climate::ClimateCall &call) override
uint8_t operation_mode_()
bool on_receive(remote_base::RemoteReceiveData data) override
uint8_t fan_speed_swing_()
RemoteTransmitterBase * transmitter_
@ CLIMATE_SWING_OFF
The swing mode is set to Off.
@ CLIMATE_SWING_BOTH
The fan mode is set to Both.
@ CLIMATE_MODE_DRY
The climate device is set to dry/humidity mode.
@ CLIMATE_MODE_FAN_ONLY
The climate device only has the fan enabled, no heating or cooling is taking place.
@ CLIMATE_MODE_HEAT
The climate device is set to heat to reach the target temperature.
@ CLIMATE_MODE_COOL
The climate device is set to cool to reach the target temperature.
@ CLIMATE_MODE_HEAT_COOL
The climate device is set to heat/cool to reach the target temperature.
@ CLIMATE_MODE_OFF
The climate device is off.
@ CLIMATE_FAN_MEDIUM
The fan mode is set to Medium.
@ CLIMATE_FAN_ON
The fan mode is set to On.
@ CLIMATE_FAN_LOW
The fan mode is set to Low.
@ CLIMATE_FAN_HIGH
The fan mode is set to High.
const uint8_t DAIKIN_BRC_FAN_2
const uint8_t DAIKIN_BRC_MODE_FAN
const uint8_t DAIKIN_BRC_MODE_OFF
const uint8_t DAIKIN_BRC_IR_SWING_OFF
const uint8_t DAIKIN_BRC_TEMP_MIN_F
const uint32_t DAIKIN_BRC_HEADER_MARK
const uint8_t DAIKIN_BRC_FAN_1
const uint8_t DAIKIN_BRC_MODE_DRY
ESPHOME_LOG_TAG(TAG, "daikin_brc.climate")
const uint8_t DAIKIN_BRC_TEMP_MAX_F
const uint8_t DAIKIN_BRC_IR_DRY_FAN_TEMP_C
const uint8_t DAIKIN_BRC_MODE_COOL
const uint8_t DAIKIN_BRC_TRANSMIT_FRAME_SIZE
const uint8_t DAIKIN_BRC_IR_MODE_BUTTON
const uint8_t DAIKIN_BRC_FAN_3
const uint32_t DAIKIN_BRC_HEADER_SPACE
const uint8_t DAIKIN_BRC_IR_SWING_ON
const uint8_t DAIKIN_BRC_PREAMBLE_SIZE
const uint8_t DAIKIN_BRC_MODE_AUTO
const float DAIKIN_BRC_TEMP_MIN_C
const uint32_t DAIKIN_BRC_BIT_MARK
const float DAIKIN_BRC_TEMP_MAX_C
const uint8_t DAIKIN_BRC_STATE_FRAME_SIZE
const uint32_t DAIKIN_BRC_MESSAGE_SPACE
const uint8_t DAIKIN_BRC_MODE_ON
const uint8_t DAIKIN_BRC_MODE_HEAT
const uint32_t DAIKIN_BRC_IR_FREQUENCY
const uint8_t DAIKIN_BRC_IR_DRY_FAN_TEMP_F
constexpr uint8_t sum_bytes(const uint8_t *data, size_t len, uint8_t sum=0)
Add up the bytes of data with size len, truncated to 8 bits: the checksum many serial and IR protocol...