# IRremoteESP8266: src/ir_Panasonic.h File Reference

ir_Panasonic.h File Reference

Support for Panasonic protocols. More...

Go to the source code of this file.

## Classes

class | IRPanasonicAc
| Class for handling detailed Panasonic A/C messages. More...
union | PanasonicAc32Protocol
| Native representation of a Panasonic 32-bit A/C message. More...
class | IRPanasonicAc32
| Class for handling detailed Panasonic 32bit A/C messages. More...

## Variables

const uint16_t | kPanasonicFreq = 36700
const uint16_t | kPanasonicAcExcess = 0
const uint16_t | kPanasonicAcTolerance = 40
const uint8_t | kPanasonicAcAuto = 0
const uint8_t | kPanasonicAcDry = 2
const uint8_t | kPanasonicAcCool = 3
const uint8_t | kPanasonicAcHeat = 4
const uint8_t | kPanasonicAcFan = 6
const uint8_t | kPanasonicAcFanMin = 0
const uint8_t | kPanasonicAcFanMed = 2
const uint8_t | kPanasonicAcFanMax = 4
const uint8_t | kPanasonicAcFanAuto = 7
const uint8_t | kPanasonicAcFanDelta = 3
const uint8_t | kPanasonicAcPowerOffset = 0
const uint8_t | kPanasonicAcTempOffset = 1
const uint8_t | kPanasonicAcTempSize = 5
const uint8_t | kPanasonicAcMinTemp = 16
const uint8_t | kPanasonicAcMaxTemp = 30
const uint8_t | kPanasonicAcFanModeTemp = 27
const uint8_t | kPanasonicAcQuietOffset = 0
const uint8_t | kPanasonicAcPowerfulOffset = 5
const uint8_t | kPanasonicAcQuietCkpOffset = kPanasonicAcPowerfulOffset
const uint8_t | kPanasonicAcPowerfulCkpOffset = kPanasonicAcQuietOffset
const uint8_t | kPanasonicAcSwingVHighest = 0x1
const uint8_t | kPanasonicAcSwingVHigh = 0x2
const uint8_t | kPanasonicAcSwingVMiddle = 0x3
const uint8_t | kPanasonicAcSwingVLow = 0x4
const uint8_t | kPanasonicAcSwingVLowest = 0x5
const uint8_t | kPanasonicAcSwingVAuto = 0xF
const uint8_t | kPanasonicAcSwingHMiddle = 0x6
const uint8_t | kPanasonicAcSwingHFullLeft = 0x9
const uint8_t | kPanasonicAcSwingHLeft = 0xA
const uint8_t | kPanasonicAcSwingHRight = 0xB
const uint8_t | kPanasonicAcSwingHFullRight = 0xC
const uint8_t | kPanasonicAcSwingHAuto = 0xD
const uint8_t | kPanasonicAcChecksumInit = 0xF4
const uint8_t | kPanasonicAcOnTimerOffset = 1
const uint8_t | kPanasonicAcOffTimerOffset = 2
const uint8_t | kPanasonicAcTimeSize = 11
const uint8_t | kPanasonicAcTimeOverflowSize = 3
const uint16_t | kPanasonicAcTimeMax = 23 * 60 + 59
const uint16_t | kPanasonicAcTimeSpecial = 0x600
const uint8_t | kPanasonicAcIonFilterByte = 22
const uint8_t | kPanasonicAcIonFilterOffset = 0
const uint8_t | kPanasonicKnownGoodState [kPanasonicAcStateLength]
const uint8_t | kPanasonicAc32Fan = 1
const uint8_t | kPanasonicAc32Cool = 2
const uint8_t | kPanasonicAc32Dry = 3
const uint8_t | kPanasonicAc32Heat = 4
const uint8_t | kPanasonicAc32Auto = 6
const uint8_t | kPanasonicAc32FanMin = 2
const uint8_t | kPanasonicAc32FanLow = 3
const uint8_t | kPanasonicAc32FanMed = 4
const uint8_t | kPanasonicAc32FanHigh = 5
const uint8_t | kPanasonicAc32FanMax = 6
const uint8_t | kPanasonicAc32FanAuto = 0xF
const uint8_t | kPanasonicAc32SwingVAuto = 0x7
const uint32_t | kPanasonicAc32KnownGood = 0x0AF136FC
| Cool, Auto, 16C. More...

## Detailed Description

Support for Panasonic protocols.

See also
  Panasonic A/C support heavily influenced by https://github.com/ToniA/ESPEasy/blob/HeatpumpIR/lib/HeatpumpIR/PanasonicHeatpumpIR.cpp

## Variable Documentation

## kPanasonicAc32Auto

const uint8_t kPanasonicAc32Auto = 6

## kPanasonicAc32Cool

const uint8_t kPanasonicAc32Cool = 2

## kPanasonicAc32Dry

const uint8_t kPanasonicAc32Dry = 3

## kPanasonicAc32Fan

const uint8_t kPanasonicAc32Fan = 1

## kPanasonicAc32FanAuto

const uint8_t kPanasonicAc32FanAuto = 0xF

## kPanasonicAc32FanHigh

const uint8_t kPanasonicAc32FanHigh = 5

## kPanasonicAc32FanLow

const uint8_t kPanasonicAc32FanLow = 3

## kPanasonicAc32FanMax

const uint8_t kPanasonicAc32FanMax = 6

## kPanasonicAc32FanMed

const uint8_t kPanasonicAc32FanMed = 4

## kPanasonicAc32FanMin

const uint8_t kPanasonicAc32FanMin = 2

## kPanasonicAc32Heat

const uint8_t kPanasonicAc32Heat = 4

## kPanasonicAc32KnownGood

const uint32_t kPanasonicAc32KnownGood = 0x0AF136FC

Cool, Auto, 16C.

## kPanasonicAc32SwingVAuto

const uint8_t kPanasonicAc32SwingVAuto = 0x7

## kPanasonicAcAuto

const uint8_t kPanasonicAcAuto = 0

## kPanasonicAcChecksumInit

const uint8_t kPanasonicAcChecksumInit = 0xF4

## kPanasonicAcCool

const uint8_t kPanasonicAcCool = 3

## kPanasonicAcDry

const uint8_t kPanasonicAcDry = 2

## kPanasonicAcExcess

const uint16_t kPanasonicAcExcess = 0

## kPanasonicAcFan

const uint8_t kPanasonicAcFan = 6

## kPanasonicAcFanAuto

const uint8_t kPanasonicAcFanAuto = 7

## kPanasonicAcFanDelta

const uint8_t kPanasonicAcFanDelta = 3

## kPanasonicAcFanMax

const uint8_t kPanasonicAcFanMax = 4

## kPanasonicAcFanMed

const uint8_t kPanasonicAcFanMed = 2

## kPanasonicAcFanMin

const uint8_t kPanasonicAcFanMin = 0

## kPanasonicAcFanModeTemp

const uint8_t kPanasonicAcFanModeTemp = 27

## kPanasonicAcHeat

const uint8_t kPanasonicAcHeat = 4

## kPanasonicAcIonFilterByte

const uint8_t kPanasonicAcIonFilterByte = 22

## kPanasonicAcIonFilterOffset

const uint8_t kPanasonicAcIonFilterOffset = 0

## kPanasonicAcMaxTemp

const uint8_t kPanasonicAcMaxTemp = 30

## kPanasonicAcMinTemp

const uint8_t kPanasonicAcMinTemp = 16

## kPanasonicAcOffTimerOffset

const uint8_t kPanasonicAcOffTimerOffset = 2

## kPanasonicAcOnTimerOffset

const uint8_t kPanasonicAcOnTimerOffset = 1

## kPanasonicAcPowerfulCkpOffset

const uint8_t kPanasonicAcPowerfulCkpOffset = kPanasonicAcQuietOffset

## kPanasonicAcPowerfulOffset

const uint8_t kPanasonicAcPowerfulOffset = 5

## kPanasonicAcPowerOffset

const uint8_t kPanasonicAcPowerOffset = 0

## kPanasonicAcQuietCkpOffset

const uint8_t kPanasonicAcQuietCkpOffset = kPanasonicAcPowerfulOffset

## kPanasonicAcQuietOffset

const uint8_t kPanasonicAcQuietOffset = 0

## kPanasonicAcSwingHAuto

const uint8_t kPanasonicAcSwingHAuto = 0xD

## kPanasonicAcSwingHFullLeft

const uint8_t kPanasonicAcSwingHFullLeft = 0x9

## kPanasonicAcSwingHFullRight

const uint8_t kPanasonicAcSwingHFullRight = 0xC

## kPanasonicAcSwingHLeft

const uint8_t kPanasonicAcSwingHLeft = 0xA

## kPanasonicAcSwingHMiddle

const uint8_t kPanasonicAcSwingHMiddle = 0x6

## kPanasonicAcSwingHRight

const uint8_t kPanasonicAcSwingHRight = 0xB

## kPanasonicAcSwingVAuto

const uint8_t kPanasonicAcSwingVAuto = 0xF

## kPanasonicAcSwingVHigh

const uint8_t kPanasonicAcSwingVHigh = 0x2

## kPanasonicAcSwingVHighest

const uint8_t kPanasonicAcSwingVHighest = 0x1

## kPanasonicAcSwingVLow

const uint8_t kPanasonicAcSwingVLow = 0x4

## kPanasonicAcSwingVLowest

const uint8_t kPanasonicAcSwingVLowest = 0x5

## kPanasonicAcSwingVMiddle

const uint8_t kPanasonicAcSwingVMiddle = 0x3

## kPanasonicAcTempOffset

const uint8_t kPanasonicAcTempOffset = 1

## kPanasonicAcTempSize

const uint8_t kPanasonicAcTempSize = 5

## kPanasonicAcTimeMax

const uint16_t kPanasonicAcTimeMax = 23 * 60 + 59

## kPanasonicAcTimeOverflowSize

const uint8_t kPanasonicAcTimeOverflowSize = 3

## kPanasonicAcTimeSize

const uint8_t kPanasonicAcTimeSize = 11

## kPanasonicAcTimeSpecial

const uint16_t kPanasonicAcTimeSpecial = 0x600

## kPanasonicAcTolerance

const uint16_t kPanasonicAcTolerance = 40

## kPanasonicFreq

const uint16_t kPanasonicFreq = 36700

## kPanasonicKnownGoodState

const uint8_t kPanasonicKnownGoodState[kPanasonicAcStateLength]

Initial value:
= {
0x02, 0x20, 0xE0, 0x04, 0x00, 0x00, 0x00, 0x06, 0x02,
0x20, 0xE0, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x0E, 0xE0, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00}