7 static const char *
const TAG =
"daikin_brc.climate";
15 ClimateIR::control(call);
20 0xDA, 0x17, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
21 0x00, 0x00, 0x00, 0x00, 0x20, 0x00};
31 remote_state[DAIKIN_BRC_TRANSMIT_FRAME_SIZE - 1] += remote_state[i];
41 for (uint8_t mask = 1; mask > 0; mask <<= 1) {
43 bool bit = remote_state[i] & mask;
53 for (uint8_t mask = 1; mask > 0; mask <<= 1) {
55 bool bit = remote_state[i] & mask;
67 uint8_t alt_mode = 0x00;
109 return operating_mode;
142 switch (this->
mode) {
154 temperature = (uint8_t) roundf(
166 checksum += frame[i];
169 ESP_LOGCONFIG(TAG,
"Bad CheckSum %x", checksum);
173 uint8_t
mode = frame[7];
175 switch (mode & 0xF0) {
201 temperature_c = (temperature >> 1) + 9;
208 switch (swing_mode & 0xF) {
217 switch (fan_mode & 0xF0) {
239 for (int8_t bit = 0; bit < 8; bit++) {
246 state_frame[pos] = byte;
251 }
else if (pos == 1) {
255 }
else if (pos == 2) {
259 }
else if (pos == 3) {
263 }
else if (pos == 4) {
This class is used to encode all control actions on a climate device.
The fan mode is set to Low.
value_type const & value() const
ClimateSwingMode swing_mode
The active swing mode of the climate device.
The fan mode is set to Both.
const uint8_t DAIKIN_BRC_MODE_ON
const uint32_t DAIKIN_BRC_IR_FREQUENCY
const uint8_t DAIKIN_BRC_IR_SWING_OFF
float target_temperature
The target temperature of the climate device.
void set_carrier_frequency(uint32_t carrier_frequency)
const optional< ClimateMode > & get_mode() const
const uint32_t DAIKIN_BRC_HEADER_MARK
The climate device is set to heat to reach the target temperature.
const uint8_t DAIKIN_BRC_TEMP_MAX_F
uint8_t operation_mode_()
ClimateMode mode
The active mode of the climate device.
const uint8_t DAIKIN_BRC_TEMP_MIN_F
const uint8_t DAIKIN_BRC_MODE_COOL
const uint8_t DAIKIN_BRC_MODE_DRY
const float DAIKIN_BRC_TEMP_MIN_C
The climate device is set to dry/humidity mode.
bool on_receive(remote_base::RemoteReceiveData data) override
const uint8_t DAIKIN_BRC_MODE_AUTO
const uint8_t DAIKIN_BRC_FAN_3
const uint8_t DAIKIN_BRC_STATE_FRAME_SIZE
const uint32_t DAIKIN_BRC_BIT_MARK
const uint8_t DAIKIN_BRC_IR_DRY_FAN_TEMP_F
The climate device is set to cool to reach the target temperature.
const uint8_t DAIKIN_BRC_IR_SWING_ON
RemoteTransmitterBase * transmitter_
void transmit_state() override
void control(const climate::ClimateCall &call) override
The climate device is set to heat/cool to reach the target temperature.
const uint8_t DAIKIN_BRC_MODE_FAN
const uint8_t DAIKIN_BRC_FAN_2
void publish_state()
Publish the state of the climate device, to be called from integrations.
The fan mode is set to High.
RemoteTransmitData * get_data()
The swing mode is set to Off.
The climate device is off.
uint8_t fan_speed_swing_()
const uint32_t DAIKIN_BRC_ZERO_SPACE
const float DAIKIN_BRC_TEMP_MAX_C
optional< ClimateFanMode > fan_mode
The active fan mode of the climate device.
const uint8_t DAIKIN_BRC_FAN_1
bool parse_state_frame_(const uint8_t frame[])
const uint8_t DAIKIN_BRC_PREAMBLE_SIZE
const uint8_t DAIKIN_BRC_MODE_OFF
const uint8_t DAIKIN_BRC_IR_DRY_FAN_TEMP_C
Implementation of SPI Controller mode.
const uint32_t DAIKIN_BRC_ONE_SPACE
const uint8_t DAIKIN_BRC_MODE_HEAT
The fan mode is set to Medium.
const uint8_t DAIKIN_BRC_TRANSMIT_FRAME_SIZE
const uint32_t DAIKIN_BRC_MESSAGE_SPACE
bool expect_item(uint32_t mark, uint32_t space)
The climate device only has the fan enabled, no heating or cooling is taking place.
const uint8_t DAIKIN_BRC_IR_MODE_BUTTON
const uint32_t DAIKIN_BRC_HEADER_SPACE