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

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 kHaierAcOffTimerOffset = 6
 
const uint8_t kHaierAcOnTimerOffset = 7
 
const uint8_t kHaierAcHealthBitOffset = 5
 
const uint8_t kHaierAcSwingOffset = 6
 
const uint8_t kHaierAcSwingSize = 2
 
const uint8_t kHaierAcSwingOff = 0b00
 
const uint8_t kHaierAcSwingUp = 0b01
 
const uint8_t kHaierAcSwingDown = 0b10
 
const uint8_t kHaierAcSwingChg = 0b11
 
const uint8_t kHaierAcModeOffset = 5
 
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 uint8_t kHaierAcTimeOffset = 0
 
const uint8_t kHaierAcHoursSize = 5
 
const uint8_t kHaierAcMinsSize = 6
 
const uint16_t kHaierAcMaxTime = (23 * 60) + 59
 
const uint8_t kHaierAcSleepBitOffset = 6
 
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 kHaierAcYrw02HealthOffset = 1
 
const uint8_t kHaierAcYrw02PowerOffset = 6
 
const uint8_t kHaierAcYrw02Power = 0b01000000
 
const uint8_t kHaierAcYrw02FanOffset = 5
 
const uint8_t kHaierAcYrw02FanSize = 3
 
const uint8_t kHaierAcYrw02FanHigh = 0b001
 
const uint8_t kHaierAcYrw02FanMed = 0b010
 
const uint8_t kHaierAcYrw02FanLow = 0b011
 
const uint8_t kHaierAcYrw02FanAuto = 0b101
 
const uint8_t kHaierAcYrw02TurboOffset = 6
 
const uint8_t kHaierAcYrw02TurboSize = 2
 
const uint8_t kHaierAcYrw02TurboOff = 0x0
 
const uint8_t kHaierAcYrw02TurboHigh = 0x1
 
const uint8_t kHaierAcYrw02TurboLow = 0x2
 
const uint8_t kHaierAcYrw02ModeOffset = 5
 
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 kHaierAcYrw02SleepOffset = 7
 
const uint8_t kHaierAcYrw02Sleep = 0b10000000
 
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:

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

◆ kHaierAcHealthBitOffset

const uint8_t kHaierAcHealthBitOffset = 5

◆ kHaierAcHeat

const uint8_t kHaierAcHeat = 3

◆ kHaierAcHoursSize

const uint8_t kHaierAcHoursSize = 5

◆ kHaierAcMaxTemp

const uint8_t kHaierAcMaxTemp = 30

◆ kHaierAcMaxTime

const uint16_t kHaierAcMaxTime = (23 * 60) + 59

◆ kHaierAcMinsSize

const uint8_t kHaierAcMinsSize = 6

◆ kHaierAcMinTemp

const uint8_t kHaierAcMinTemp = 16

◆ kHaierAcModeOffset

const uint8_t kHaierAcModeOffset = 5

◆ kHaierAcOffTimerOffset

const uint8_t kHaierAcOffTimerOffset = 6

◆ kHaierAcOnTimerOffset

const uint8_t kHaierAcOnTimerOffset = 7

◆ kHaierAcPrefix

const uint8_t kHaierAcPrefix = 0b10100101

◆ kHaierAcSleepBit

const uint8_t kHaierAcSleepBit = 0b01000000

◆ kHaierAcSleepBitOffset

const uint8_t kHaierAcSleepBitOffset = 6

◆ kHaierAcSwingChg

const uint8_t kHaierAcSwingChg = 0b11

◆ kHaierAcSwingDown

const uint8_t kHaierAcSwingDown = 0b10

◆ kHaierAcSwingOff

const uint8_t kHaierAcSwingOff = 0b00

◆ kHaierAcSwingOffset

const uint8_t kHaierAcSwingOffset = 6

◆ kHaierAcSwingSize

const uint8_t kHaierAcSwingSize = 2

◆ kHaierAcSwingUp

const uint8_t kHaierAcSwingUp = 0b01

◆ kHaierAcTimeOffset

const uint8_t kHaierAcTimeOffset = 0

◆ 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

◆ kHaierAcYrw02FanOffset

const uint8_t kHaierAcYrw02FanOffset = 5

◆ kHaierAcYrw02FanSize

const uint8_t kHaierAcYrw02FanSize = 3

◆ kHaierAcYrw02HealthOffset

const uint8_t kHaierAcYrw02HealthOffset = 1

◆ kHaierAcYrw02Heat

const uint8_t kHaierAcYrw02Heat = 0b100

◆ kHaierAcYrw02ModeOffset

const uint8_t kHaierAcYrw02ModeOffset = 5

◆ kHaierAcYrw02Power

const uint8_t kHaierAcYrw02Power = 0b01000000

◆ kHaierAcYrw02PowerOffset

const uint8_t kHaierAcYrw02PowerOffset = 6

◆ kHaierAcYrw02Prefix

const uint8_t kHaierAcYrw02Prefix = 0xA6

◆ kHaierAcYrw02Sleep

const uint8_t kHaierAcYrw02Sleep = 0b10000000

◆ kHaierAcYrw02SleepOffset

const uint8_t kHaierAcYrw02SleepOffset = 7

◆ 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

◆ kHaierAcYrw02TurboOffset

const uint8_t kHaierAcYrw02TurboOffset = 6

◆ kHaierAcYrw02TurboSize

const uint8_t kHaierAcYrw02TurboSize = 2