IRremoteESP8266: src/ir_Haier.h File Reference

IRremoteESP8266

Classes | Variables
ir_Haier.h File Reference

Support for Haier A/C protocols. The specifics of reverse engineering the protocols details: More...

Go to the source code of this file.

## Classes

union | HaierProtocol
| Native representation of a Haier HSU07-HEA03 A/C message. More...
union | HaierYRW02Protocol
| Native representation of a Haier YRW02 A/C message. More...
class | IRHaierAC
| Class for handling detailed Haier A/C messages. More...
class | IRHaierACYRW02
| Class for handling detailed Haier ACYRW02 A/C messages. More...

## Variables

const uint8_t | kHaierAcPrefix = 0b10100101
const uint8_t | kHaierAcMinTemp = 16
const uint8_t | kHaierAcDefTemp = 25
const uint8_t | kHaierAcMaxTemp = 30
const uint8_t | kHaierAcCmdOff = 0b0000
const uint8_t | kHaierAcCmdOn = 0b0001
const uint8_t | kHaierAcCmdMode = 0b0010
const uint8_t | kHaierAcCmdFan = 0b0011
const uint8_t | kHaierAcCmdTempUp = 0b0110
const uint8_t | kHaierAcCmdTempDown = 0b0111
const uint8_t | kHaierAcCmdSleep = 0b1000
const uint8_t | kHaierAcCmdTimerSet = 0b1001
const uint8_t | kHaierAcCmdTimerCancel = 0b1010
const uint8_t | kHaierAcCmdHealth = 0b1100
const uint8_t | kHaierAcCmdSwing = 0b1101
const uint8_t | kHaierAcSwingOff = 0b00
const uint8_t | kHaierAcSwingUp = 0b01
const uint8_t | kHaierAcSwingDown = 0b10
const uint8_t | kHaierAcSwingChg = 0b11
const uint8_t | kHaierAcAuto = 0
const uint8_t | kHaierAcCool = 1
const uint8_t | kHaierAcDry = 2
const uint8_t | kHaierAcHeat = 3
const uint8_t | kHaierAcFan = 4
const uint8_t | kHaierAcFanAuto = 0
const uint8_t | kHaierAcFanLow = 1
const uint8_t | kHaierAcFanMed = 2
const uint8_t | kHaierAcFanHigh = 3
const uint16_t | kHaierAcMaxTime = (23 * 60) + 59
const uint8_t | kHaierAcSleepBit = 0b01000000
const uint8_t | kHaierAcYrw02Prefix = 0xA6
const uint8_t | kHaierAcYrw02SwingOff = 0x0
const uint8_t | kHaierAcYrw02SwingTop = 0x1
const uint8_t | kHaierAcYrw02SwingMiddle = 0x2
const uint8_t | kHaierAcYrw02SwingBottom = 0x3
const uint8_t | kHaierAcYrw02SwingDown = 0xA
const uint8_t | kHaierAcYrw02SwingAuto = 0xC
const uint8_t | kHaierAcYrw02FanHigh = 0b001
const uint8_t | kHaierAcYrw02FanMed = 0b010
const uint8_t | kHaierAcYrw02FanLow = 0b011
const uint8_t | kHaierAcYrw02FanAuto = 0b101
const uint8_t | kHaierAcYrw02TurboOff = 0x0
const uint8_t | kHaierAcYrw02TurboHigh = 0x1
const uint8_t | kHaierAcYrw02TurboLow = 0x2
const uint8_t | kHaierAcYrw02Auto = 0b000
const uint8_t | kHaierAcYrw02Cool = 0b001
const uint8_t | kHaierAcYrw02Dry = 0b010
const uint8_t | kHaierAcYrw02Heat = 0b100
const uint8_t | kHaierAcYrw02Fan = 0b110
const uint8_t | kHaierAcYrw02ButtonTempUp = 0x0
const uint8_t | kHaierAcYrw02ButtonTempDown = 0x1
const uint8_t | kHaierAcYrw02ButtonSwing = 0x2
const uint8_t | kHaierAcYrw02ButtonFan = 0x4
const uint8_t | kHaierAcYrw02ButtonPower = 0x5
const uint8_t | kHaierAcYrw02ButtonMode = 0x6
const uint8_t | kHaierAcYrw02ButtonHealth = 0x7
const uint8_t | kHaierAcYrw02ButtonTurbo = 0x8
const uint8_t | kHaierAcYrw02ButtonSleep = 0xB

## Detailed Description

Support for Haier A/C protocols. The specifics of reverse engineering the protocols details:

- HSU07-HEA03 by kuzin2006.
- YR-W02/HSU-09HMC203 by non7top.
  See also
    https://github.com/crankyoldgit/IRremoteESP8266/issues/404
    https://www.dropbox.com/s/mecyib3lhdxc8c6/IR%20data%20reverse%20engineering.xlsx?dl=0
    https://github.com/crankyoldgit/IRremoteESP8266/issues/485
    https://www.dropbox.com/sh/w0bt7egp0fjger5/AADRFV6Wg4wZskJVdFvzb8Z0a?dl=0&preview=haer2.ods

## Variable Documentation

## ◆ kHaierAcAuto

const uint8_t kHaierAcAuto = 0

## ◆ kHaierAcCmdFan

const uint8_t kHaierAcCmdFan = 0b0011

## ◆ kHaierAcCmdHealth

const uint8_t kHaierAcCmdHealth = 0b1100

## ◆ kHaierAcCmdMode

const uint8_t kHaierAcCmdMode = 0b0010

## ◆ kHaierAcCmdOff

const uint8_t kHaierAcCmdOff = 0b0000

## ◆ kHaierAcCmdOn

const uint8_t kHaierAcCmdOn = 0b0001

## ◆ kHaierAcCmdSleep

const uint8_t kHaierAcCmdSleep = 0b1000

## ◆ kHaierAcCmdSwing

const uint8_t kHaierAcCmdSwing = 0b1101

## ◆ kHaierAcCmdTempDown

const uint8_t kHaierAcCmdTempDown = 0b0111

## ◆ kHaierAcCmdTempUp

const uint8_t kHaierAcCmdTempUp = 0b0110

## ◆ kHaierAcCmdTimerCancel

const uint8_t kHaierAcCmdTimerCancel = 0b1010

## ◆ kHaierAcCmdTimerSet

const uint8_t kHaierAcCmdTimerSet = 0b1001

## ◆ kHaierAcCool

const uint8_t kHaierAcCool = 1

## ◆ kHaierAcDefTemp

const uint8_t kHaierAcDefTemp = 25

## ◆ kHaierAcDry

const uint8_t kHaierAcDry = 2

## ◆ kHaierAcFan

const uint8_t kHaierAcFan = 4

## ◆ kHaierAcFanAuto

const uint8_t kHaierAcFanAuto = 0

## ◆ kHaierAcFanHigh

const uint8_t kHaierAcFanHigh = 3

## ◆ kHaierAcFanLow

const uint8_t kHaierAcFanLow = 1

## ◆ kHaierAcFanMed

const uint8_t kHaierAcFanMed = 2

## ◆ kHaierAcHeat

const uint8_t kHaierAcHeat = 3

## ◆ kHaierAcMaxTemp

const uint8_t kHaierAcMaxTemp = 30

## ◆ kHaierAcMaxTime

const uint16_t kHaierAcMaxTime = (23 * 60) + 59

## ◆ kHaierAcMinTemp

const uint8_t kHaierAcMinTemp = 16

## ◆ kHaierAcPrefix

const uint8_t kHaierAcPrefix = 0b10100101

## ◆ kHaierAcSleepBit

const uint8_t kHaierAcSleepBit = 0b01000000

## ◆ kHaierAcSwingChg

const uint8_t kHaierAcSwingChg = 0b11

## ◆ kHaierAcSwingDown

const uint8_t kHaierAcSwingDown = 0b10

## ◆ kHaierAcSwingOff

const uint8_t kHaierAcSwingOff = 0b00

## ◆ kHaierAcSwingUp

const uint8_t kHaierAcSwingUp = 0b01

## ◆ kHaierAcYrw02Auto

const uint8_t kHaierAcYrw02Auto = 0b000

## ◆ kHaierAcYrw02ButtonFan

const uint8_t kHaierAcYrw02ButtonFan = 0x4

## ◆ kHaierAcYrw02ButtonHealth

const uint8_t kHaierAcYrw02ButtonHealth = 0x7

## ◆ kHaierAcYrw02ButtonMode

const uint8_t kHaierAcYrw02ButtonMode = 0x6

## ◆ kHaierAcYrw02ButtonPower

const uint8_t kHaierAcYrw02ButtonPower = 0x5

## ◆ kHaierAcYrw02ButtonSleep

const uint8_t kHaierAcYrw02ButtonSleep = 0xB

## ◆ kHaierAcYrw02ButtonSwing

const uint8_t kHaierAcYrw02ButtonSwing = 0x2

## ◆ kHaierAcYrw02ButtonTempDown

const uint8_t kHaierAcYrw02ButtonTempDown = 0x1

## ◆ kHaierAcYrw02ButtonTempUp

const uint8_t kHaierAcYrw02ButtonTempUp = 0x0

## ◆ kHaierAcYrw02ButtonTurbo

const uint8_t kHaierAcYrw02ButtonTurbo = 0x8

## ◆ kHaierAcYrw02Cool

const uint8_t kHaierAcYrw02Cool = 0b001

## ◆ kHaierAcYrw02Dry

const uint8_t kHaierAcYrw02Dry = 0b010

## ◆ kHaierAcYrw02Fan

const uint8_t kHaierAcYrw02Fan = 0b110

## ◆ kHaierAcYrw02FanAuto

const uint8_t kHaierAcYrw02FanAuto = 0b101

## ◆ kHaierAcYrw02FanHigh

const uint8_t kHaierAcYrw02FanHigh = 0b001

## ◆ kHaierAcYrw02FanLow

const uint8_t kHaierAcYrw02FanLow = 0b011

## ◆ kHaierAcYrw02FanMed

const uint8_t kHaierAcYrw02FanMed = 0b010

## ◆ kHaierAcYrw02Heat

const uint8_t kHaierAcYrw02Heat = 0b100

## ◆ kHaierAcYrw02Prefix

const uint8_t kHaierAcYrw02Prefix = 0xA6

## ◆ kHaierAcYrw02SwingAuto

const uint8_t kHaierAcYrw02SwingAuto = 0xC

## ◆ kHaierAcYrw02SwingBottom

const uint8_t kHaierAcYrw02SwingBottom = 0x3

## ◆ kHaierAcYrw02SwingDown

const uint8_t kHaierAcYrw02SwingDown = 0xA

## ◆ kHaierAcYrw02SwingMiddle

const uint8_t kHaierAcYrw02SwingMiddle = 0x2

## ◆ kHaierAcYrw02SwingOff

const uint8_t kHaierAcYrw02SwingOff = 0x0

## ◆ kHaierAcYrw02SwingTop

const uint8_t kHaierAcYrw02SwingTop = 0x1

## ◆ kHaierAcYrw02TurboHigh

const uint8_t kHaierAcYrw02TurboHigh = 0x1

## ◆ kHaierAcYrw02TurboLow

const uint8_t kHaierAcYrw02TurboLow = 0x2

## ◆ kHaierAcYrw02TurboOff

const uint8_t kHaierAcYrw02TurboOff = 0x0