Support for IVT heatpump ('ON' code is different from the Sharp model)
This commit is contained in:
parent
9dcc61f1c0
commit
7ac8963111
|
@ -0,0 +1,18 @@
|
|||
#include <IVTHeatpumpIR.h>
|
||||
|
||||
|
||||
IVTHeatpumpIR::IVTHeatpumpIR() : SharpHeatpumpIR()
|
||||
{
|
||||
static const char PROGMEM model[] PROGMEM = "ivt";
|
||||
static const char PROGMEM info[] PROGMEM = "{\"mdl\":\"ivt\",\"dn\":\"IVT AY-XP12FR-N\",\"mT\":18,\"xT\":32,\"fs\":3,\"maint\":[10]}}";
|
||||
|
||||
_model = model;
|
||||
_info = info;
|
||||
}
|
||||
|
||||
void IVTHeatpumpIR::send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd)
|
||||
{
|
||||
_sharpModel = MODEL_IVT;
|
||||
|
||||
SharpHeatpumpIR::send(IR, powerModeCmd, operatingModeCmd, fanSpeedCmd, temperatureCmd, swingVCmd, swingHCmd);
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
IVT heatpump control for IVT AY-XP12FR-N, remote control CRMC-A673JBEZ (almost the same as Sharp)
|
||||
|
||||
Also see: https://github.com/skarlsso/IRRemoteIVT/blob/master/IRRemoteIVT
|
||||
*/
|
||||
#ifndef IVTHeatpumpIR_h
|
||||
#define IVTHeatpumpIR_h
|
||||
|
||||
#include <HeatpumpIR.h>
|
||||
#include <SharpHeatpumpIR.h>
|
||||
|
||||
|
||||
class IVTHeatpumpIR : public SharpHeatpumpIR
|
||||
{
|
||||
public:
|
||||
IVTHeatpumpIR();
|
||||
void send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -8,6 +8,8 @@ SharpHeatpumpIR::SharpHeatpumpIR() : HeatpumpIR()
|
|||
|
||||
_model = model;
|
||||
_info = info;
|
||||
|
||||
_sharpModel = MODEL_SHARP;
|
||||
}
|
||||
|
||||
|
||||
|
@ -18,7 +20,7 @@ void SharpHeatpumpIR::send(IRSender& IR, uint8_t powerModeCmd, uint8_t operating
|
|||
|
||||
// Sensible defaults for the heat pump mode
|
||||
|
||||
uint8_t powerMode = SHARP_AIRCON1_MODE_ON;
|
||||
uint8_t powerMode = _sharpModel == MODEL_SHARP ? SHARP_AIRCON1_MODE_ON : SHARP_AIRCON2_MODE_ON;
|
||||
uint8_t operatingMode = SHARP_AIRCON1_MODE_HEAT;
|
||||
uint8_t fanSpeed = SHARP_AIRCON1_FAN_AUTO;
|
||||
uint8_t temperature = 23;
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
/*
|
||||
Sharp AY-ZP40KR heatpump control (remote control P/N CRMC-A788JBEZ)
|
||||
Probably also works on IVT (as those are Sharp units with different branding)
|
||||
|
||||
Also see: https://github.com/skarlsso/IRRemoteIVT/blob/master/IRRemoteIVT.ino
|
||||
Also see: https://github.com/skarlsso/IRRemoteIVT/blob/master/IRRemoteIVT
|
||||
*/
|
||||
#ifndef SharpHeatpumpIR_h
|
||||
#define SharpHeatpumpIR_h
|
||||
|
||||
#include <HeatpumpIR.h>
|
||||
|
||||
#define MODEL_SHARP 0
|
||||
#define MODEL_IVT 1
|
||||
|
||||
// Sharp timing constants
|
||||
#define SHARP_AIRCON1_HDR_MARK 3540 // 3820
|
||||
|
@ -28,6 +29,9 @@
|
|||
#define SHARP_AIRCON1_FAN2 0x50
|
||||
#define SHARP_AIRCON1_FAN3 0x70
|
||||
|
||||
// IVT codes
|
||||
#define SHARP_AIRCON2_MODE_ON 0x11 // Power ON
|
||||
|
||||
|
||||
class SharpHeatpumpIR : public HeatpumpIR
|
||||
{
|
||||
|
@ -35,8 +39,9 @@ class SharpHeatpumpIR : public HeatpumpIR
|
|||
SharpHeatpumpIR();
|
||||
void send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd);
|
||||
|
||||
private:
|
||||
protected:
|
||||
void sendSharp(IRSender& IR, uint8_t powerMode, uint8_t operatingMode, uint8_t fanSpeed, uint8_t temperature);
|
||||
uint8_t _sharpModel; // Tells whether this is Sharp or IVT
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@ HisenseHeatpumpIR KEYWORD1
|
|||
GreeHeatpumpIR KEYWORD1
|
||||
FuegoHeatpumpIR KEYWORD1
|
||||
ToshibaHeatpumpIR KEYWORD1
|
||||
IVTHeatpumpIR KEYWORD1
|
||||
|
||||
IRSender KEYWORD1
|
||||
IRSenderPWM KEYWORD1
|
||||
|
|
Loading…
Reference in New Issue