Go to file
Toni 5814f293d7 Panasonic ION mode 2018-08-27 19:56:15 +03:00
examples Add Gree YAA remote to simple.ino 2018-08-07 16:42:25 +03:00
AIRWAYHeatpumpIR.cpp AIRWAY aiconditioner support 2018-07-29 22:34:36 -03:00
AIRWAYHeatpumpIR.h AIRWAY aiconditioner support 2018-07-29 22:34:36 -03:00
AUXHeatpumpIR.cpp Support for 'AUX' heatpump 2017-05-13 12:47:42 +03:00
AUXHeatpumpIR.h Added confirmed models/remotes 2018-08-08 08:58:53 +03:00
BGHHeatpumpIR.cpp BGH airconditioner support 2018-07-29 22:37:21 -03:00
BGHHeatpumpIR.h BGH airconditioner support 2018-07-29 22:37:21 -03:00
BalluHeatpumpIR.cpp Support for Ballu 2017-04-23 15:23:42 +03:00
BalluHeatpumpIR.h Support for Ballu 2017-04-23 15:23:42 +03:00
CarrierHeatpumpIR.cpp Maintenance mode for different Qlima models 2017-04-18 17:25:56 +03:00
CarrierHeatpumpIR.h Maintenance mode for different Qlima models 2017-04-18 17:25:56 +03:00
DaikinHeatpumpARC417IR.cpp Add Daikin ARC417A3 remote control 2016-11-07 13:02:47 +01:00
DaikinHeatpumpARC417IR.h Add Daikin ARC417A3 remote control 2016-11-07 13:02:47 +01:00
DaikinHeatpumpIR.cpp Fix Daikin temperatures in HEAT mode 2017-04-16 20:21:38 +03:00
DaikinHeatpumpIR.h First attempt to support Daikin heatpumps 2015-11-09 20:04:11 +02:00
FuegoHeatpumpIR.cpp Fix Fuego etc. vertical air direction codes 2016-09-27 18:28:28 +03:00
FuegoHeatpumpIR.h Fix Fuego etc. vertical air direction codes 2016-09-27 18:28:28 +03:00
FujitsuHeatpumpIR.cpp Fix comment in Fujitsu code 2017-05-13 12:47:10 +03:00
FujitsuHeatpumpIR.h Extra Fujitsu codes 2016-09-24 18:39:55 +03:00
GreeHeatpumpIR.cpp Support for YAA1FB, FAA1FB1, YB1F2 remotes 2018-08-07 16:38:41 +03:00
GreeHeatpumpIR.h Support for YAA1FB, FAA1FB1, YB1F2 remotes 2018-08-07 16:38:41 +03:00
HeatpumpIR.cpp Arduino IDE 1.6-style PROGMEM definitions 2015-10-01 10:23:49 +03:00
HeatpumpIR.h Arduino IDE 1.6-style PROGMEM definitions 2015-10-01 10:23:49 +03:00
HisenseHeatpumpIR.cpp Arduino IDE 1.6-style PROGMEM definitions 2015-10-01 10:23:49 +03:00
HisenseHeatpumpIR.h Arduino IDE 1.6-style PROGMEM definitions 2015-10-01 10:23:49 +03:00
HitachiHeatpumpIR.cpp Hitachi heatpump support 2017-02-21 19:07:59 +02:00
HitachiHeatpumpIR.h Hitachi heatpump support 2017-02-21 19:07:59 +02:00
HyundaiHeatpumpIR.cpp Hyundai support 2016-01-30 14:27:19 +02:00
HyundaiHeatpumpIR.h Hyundai support 2016-01-30 14:27:19 +02:00
IRSender.cpp Add support for IRBlaster, i.e. no PWM needed, the blaster generates the 38 kHz carrier frequency 2015-12-01 20:17:14 +02:00
IRSender.h Use the 'IRsend' implementation from the IRremoteESP8266 library on ESP8266 2017-07-04 09:51:34 +03:00
IRSenderBitBang.cpp Fix type problem 2016-01-28 19:35:44 +02:00
IRSenderBlaster.cpp Add support for IRBlaster, i.e. no PWM needed, the blaster generates the 38 kHz carrier frequency 2015-12-01 20:17:14 +02:00
IRSenderIRremoteESP8266.cpp Fix complication on Arduino platform 2018-07-14 14:28:35 +03:00
IRSenderPWM.cpp Add the 'IRSenderBitBang' IR send method. This should generate the carrier 2016-01-24 17:02:19 +02:00
IVTHeatpumpIR.cpp Simplify the IVTHeatpumpIR class 2016-12-30 11:14:53 +02:00
IVTHeatpumpIR.h Simplify the IVTHeatpumpIR class 2016-12-30 11:14:53 +02:00
LICENSE Initial HeatpumpIR library, refactored from my 'arduino-wp-heatpump-controller' repository 2013-12-26 15:11:20 +02:00
MideaHeatpumpIR.cpp Change the PWM frequency of all models to 38 kHz 2015-11-03 19:21:09 +02:00
MideaHeatpumpIR.h Arduino IDE 1.6-style PROGMEM definitions 2015-10-01 10:23:49 +03:00
MitsubishiHeatpumpIR.cpp Bug fix 2018-01-14 21:29:59 +02:00
MitsubishiHeatpumpIR.h Fixed mistake removing MSY declaration 2018-01-14 21:22:33 +02:00
MitsubishiHeavyHeatpumpIR.cpp Adding support for Mitsubishi Heavy Industries SRKXXZMP-S 2018-05-11 13:20:55 +02:00
MitsubishiHeavyHeatpumpIR.h Adding support for Mitsubishi Heavy Industries SRKXXZMP-S 2018-05-11 13:20:55 +02:00
MitsubishiSEZKDXXHeatpumpIR.cpp Support for Mitsubishi SEZ series 2017-05-13 10:36:32 +03:00
MitsubishiSEZKDXXHeatpumpIR.h Typo into def flag 2018-07-10 13:56:27 +02:00
PanasonicCKPHeatpumpIR.cpp Change the PWM frequency of all models to 38 kHz 2015-11-03 19:21:09 +02:00
PanasonicCKPHeatpumpIR.h Arduino IDE 1.6-style PROGMEM definitions 2015-10-01 10:23:49 +03:00
PanasonicHeatpumpIR.cpp Panasonic ION mode 2018-08-27 19:56:15 +03:00
PanasonicHeatpumpIR.h Panasonic ION mode 2018-08-27 19:56:15 +03:00
R51MHeatpumpIR.cpp Adding R51M supporting South America A/C Model Marshall and Conqueror, Remote control says R51M 2016-05-29 00:10:56 -03:00
R51MHeatpumpIR.h Adding R51M supporting South America A/C Model Marshall and Conqueror, Remote control says R51M 2016-05-29 00:10:56 -03:00
README.md Added confirmed models/remotes 2018-08-08 08:58:53 +03:00
SamsungHeatpumpIR.cpp Timing & template changes for Samsung FJM series 2017-03-28 14:31:23 +03:00
SamsungHeatpumpIR.h Timing & template changes for Samsung FJM series 2017-03-28 14:31:23 +03:00
SharpHeatpumpIR.cpp Support for IVT heatpump ('ON' code is different from the Sharp model) 2016-12-29 21:54:24 +02:00
SharpHeatpumpIR.h Support for IVT heatpump ('ON' code is different from the Sharp model) 2016-12-29 21:54:24 +02:00
ToshibaDaiseikaiHeatpumpIR.cpp Separate Toshiba Daiseikai to its own module (even though it's very similar to Carrier) 2016-12-26 19:47:40 +02:00
ToshibaDaiseikaiHeatpumpIR.h Separate Toshiba Daiseikai to its own module (even though it's very similar to Carrier) 2016-12-26 19:47:40 +02:00
ToshibaHeatpumpIR.cpp Support for Toshiba RAS-10PKVP-ND 2016-09-30 19:56:42 +03:00
ToshibaHeatpumpIR.h Support for Toshiba RAS-10PKVP-ND 2016-09-30 19:56:42 +03:00
arduino_irsender.png Initial HeatpumpIR library, refactored from my 'arduino-wp-heatpump-controller' repository 2013-12-26 15:11:20 +02:00
keywords.txt Support for YAA1FB, FAA1FB1, YB1F2 remotes 2018-08-07 16:38:41 +03:00
library.json Add library.json 2016-04-24 13:11:01 +10:00
library.properties Version 1.0.7 2017-05-13 11:07:25 +03:00

README.md

arduino-heatpumpir

Original location: https://github.com/ToniA/arduino-heatpumpir

For concrete examples, see the MySensors (Arduino + nRF24 radio) and ESPEasy (ESP8266 modules) integrations:

An Arduino library to control pump/split unit air conditioner. Currently supporting at least these models:

  • Ballu
  • Carrier 42NQV035G / 38NYV035H2 (Carrier remote control P/N WH-L05SE)
  • Daikin RXS25G2V1B / FVXS25FV1B (Remote control P/N ARC452A1)
  • Hisense AUD (remote control Y-H1-01, Y-H1-02(E), Y-J1, Y-E4-07) probably AUC model
  • Hyundai (remote control P/N Y512F2)
    • This is probably a generic Gree model
    • Model H-AR21-07H (remote control P/N YKR-P/002E) confirmed as AUX
  • Fujitsu Nocria AWYZ14 (remote control P/N AR-PZ2)
    • Also Fujitsu remote controls RY3-AR and AR-RCE1E
  • IVT AY-XP12FR-N (remote control CRMC-A673JBEZ)
  • Midea MSR1-12HRN1-QC2 + MOA1-12HN1-QC2, sold as Ultimate Pro Plus Basic 13FP in Finland (Midea remote control P/N RG51M1/E)
    • Also other Midea models sold as 'Ultimate', even some inverter models
    • Also Onnline (sold through Onninen) has been reported to work
  • Mitsubishi Heavy SRKxxZJ-S (Remote control P/N RKX502A001C)
  • Mitsubishi Heavy SRKxxZM-S (Remote Control P/N RLA502A700B)
  • Mitsubishi Heavy SRKxxZMP-S (Remote Control P/N RKX502A001P)
  • Mitsubishi MSZ FD-25, probably also FD-35 (remote control P/N KM09D 0052376)
    • Also FH series has been confirmed to work
  • Panasonic E9/E12-CKP (Panasonic remote control P/N A75C2295)
  • Panasonic E9/E12-DKE (Panasonic remote control P/N A75C2616)
  • Panasonic E9/E12-JKE and E9/E12-NKE
  • Samsung
    • AQV12PSBN / AQV09ASA
    • Samsung FJM (RJ040F2HXEA / 2XMH026FNEA), Remote Control P/N ARH-465
  • Sharp AY-ZP40KR (remote control P/N CRMC-A788JBEZ), possibly also IVT
  • Toshiba Daiseikai (Toshiba remote control P/N WH-TA01EE).
    • Fully compatible with CarrierNQV functions instead of Daiseikai functions.
    • Tested with: RAS-10G2KVP-E RAS-10G2AVP-E and RAS-13G2KVP-E RAS-13G2AVP-E
  • Tosot T18H-SN/I (remote control P/N YAA1FB) as GreeYAA variant
    • Also marketed as Tadiran brand

Instructions

  • Download the library, and place it under your personal Arduino 'libraries' directory, under directory 'HeatpumpIR'
  • See the example sketches

ESP8266 support

This library also supports ESP8266. Just change the IR send method from 'IRSenderPWM' to 'IRSenderBitBang':

IRSenderBitBang irSender(1);     // IR led on ESP8266 digital pin 1
  • Note that depending on your board, certain GPIO's might not be available. For example on NodeMCU, the usable GPIO's are D1 (GPIO5), D2 (GPIO4), D6 (GPIO12), D7 (GPIO13) and D3 (GPIO0).

Arduino example

Schema

How to contribute

All these heatpump / A/C models have been reverse-engineered, by decoding the IR signal from the remote control. See the sketch https://github.com/ToniA/Raw-IR-decoder-for-Arduino for more information.

First the protocol needs to be understood

  • The frame structure, and the timings of the symbols
  • The bits which signal these
    • ON/OFF state
    • Operating mode (heat, cool, dry, fan, auto)
    • Temperature
    • Fan speed
    • Airflow direction etc. settings
    • And last, but not least, the algorithm to calculate the checksum of the IR signal

Once a working decoder module has been written, writing a transmitter module into HeatpumpIR is easy. I can help in coding the modules, and I'm also happy to receive pull requests.