7 static const char *
const TAG =
"daikin.climate";
10 uint8_t remote_state[35] = {0x11, 0xDA, 0x27, 0x00, 0xC5, 0x00, 0x00, 0xD7, 0x11, 0xDA, 0x27, 0x00,
11 0x42, 0x49, 0x05, 0xA2, 0x11, 0xDA, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
12 0x00, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00};
17 remote_state[24] = fan_speed >> 8;
18 remote_state[25] = fan_speed & 0xff;
21 for (
int i = 16; i < 34; i++) {
22 remote_state[34] += remote_state[i];
31 for (
int i = 0; i < 8; i++) {
32 for (uint8_t mask = 1; mask > 0; mask <<= 1) {
34 bool bit = remote_state[i] & mask;
43 for (
int i = 8; i < 16; i++) {
44 for (uint8_t mask = 1; mask > 0; mask <<= 1) {
46 bool bit = remote_state[i] & mask;
55 for (
int i = 16; i < 35; i++) {
56 for (uint8_t mask = 1; mask > 0; mask <<= 1) {
58 bool bit = remote_state[i] & mask;
92 return operating_mode;
131 switch (this->
mode) {
139 return temperature << 1;
146 checksum += frame[i];
150 uint8_t
mode = frame[5];
152 switch (mode & 0xF0) {
173 if (!(temperature & 0xC0)) {
178 if (fan_mode & 0xF && swing_mode & 0xF) {
180 }
else if (fan_mode & 0xF) {
182 }
else if (swing_mode & 0xF) {
187 switch (fan_mode & 0xF0) {
215 for (int8_t bit = 0; bit < 8; bit++) {
222 state_frame[pos] = byte;
227 }
else if (pos == 1) {
231 }
else if (pos == 2) {
235 }
else if (pos == 3) {
239 }
else if (pos == 4) {
The fan mode is set to Low.
value_type const & value() const
ClimateSwingMode swing_mode
The active swing mode of the climate device.
const uint8_t DAIKIN_MODE_AUTO
const uint8_t DAIKIN_FAN_AUTO
const uint8_t DAIKIN_MODE_ON
const uint32_t DAIKIN_ZERO_SPACE
The fan mode is set to Both.
const uint8_t DAIKIN_TEMP_MIN
const uint32_t DAIKIN_HEADER_SPACE
const uint32_t DAIKIN_BIT_MARK
float target_temperature
The target temperature of the climate device.
const uint8_t DAIKIN_MODE_HEAT
bool on_receive(remote_base::RemoteReceiveData data) override
void set_carrier_frequency(uint32_t carrier_frequency)
const uint32_t DAIKIN_HEADER_MARK
const uint32_t DAIKIN_MESSAGE_SPACE
const uint8_t DAIKIN_FAN_2
The climate device is set to heat to reach the target temperature.
const uint8_t DAIKIN_FAN_SILENT
void transmit_state() override
ClimateMode mode
The active mode of the climate device.
The climate device is set to dry/humidity mode.
const uint32_t DAIKIN_ONE_SPACE
const uint8_t DAIKIN_FAN_5
const uint8_t DAIKIN_FAN_4
The fan mode is set to Horizontal.
The climate device is set to cool to reach the target temperature.
The fan mode is set to Auto.
const uint8_t DAIKIN_STATE_FRAME_SIZE
const uint8_t DAIKIN_MODE_OFF
RemoteTransmitterBase * transmitter_
The climate device is set to heat/cool to reach the target temperature.
The fan mode is set to Vertical.
const uint8_t DAIKIN_MODE_COOL
void publish_state()
Publish the state of the climate device, to be called from integrations.
const uint8_t DAIKIN_FAN_3
The fan mode is set to High.
RemoteTransmitData * get_data()
The swing mode is set to Off.
The climate device is off.
bool parse_state_frame_(const uint8_t frame[])
optional< ClimateFanMode > fan_mode
The active fan mode of the climate device.
const uint8_t DAIKIN_TEMP_MAX
const uint8_t DAIKIN_FAN_1
Implementation of SPI Controller mode.
const uint8_t DAIKIN_MODE_DRY
const uint32_t DAIKIN_IR_FREQUENCY
uint8_t operation_mode_()
The fan mode is set to Medium.
const uint8_t DAIKIN_MODE_FAN
bool expect_item(uint32_t mark, uint32_t space)
The climate device only has the fan enabled, no heating or cooling is taking place.