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;
|
_model = model;
|
||||||
_info = info;
|
_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
|
// 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 operatingMode = SHARP_AIRCON1_MODE_HEAT;
|
||||||
uint8_t fanSpeed = SHARP_AIRCON1_FAN_AUTO;
|
uint8_t fanSpeed = SHARP_AIRCON1_FAN_AUTO;
|
||||||
uint8_t temperature = 23;
|
uint8_t temperature = 23;
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
/*
|
/*
|
||||||
Sharp AY-ZP40KR heatpump control (remote control P/N CRMC-A788JBEZ)
|
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
|
#ifndef SharpHeatpumpIR_h
|
||||||
#define SharpHeatpumpIR_h
|
#define SharpHeatpumpIR_h
|
||||||
|
|
||||||
#include <HeatpumpIR.h>
|
#include <HeatpumpIR.h>
|
||||||
|
|
||||||
|
#define MODEL_SHARP 0
|
||||||
|
#define MODEL_IVT 1
|
||||||
|
|
||||||
// Sharp timing constants
|
// Sharp timing constants
|
||||||
#define SHARP_AIRCON1_HDR_MARK 3540 // 3820
|
#define SHARP_AIRCON1_HDR_MARK 3540 // 3820
|
||||||
|
@ -28,6 +29,9 @@
|
||||||
#define SHARP_AIRCON1_FAN2 0x50
|
#define SHARP_AIRCON1_FAN2 0x50
|
||||||
#define SHARP_AIRCON1_FAN3 0x70
|
#define SHARP_AIRCON1_FAN3 0x70
|
||||||
|
|
||||||
|
// IVT codes
|
||||||
|
#define SHARP_AIRCON2_MODE_ON 0x11 // Power ON
|
||||||
|
|
||||||
|
|
||||||
class SharpHeatpumpIR : public HeatpumpIR
|
class SharpHeatpumpIR : public HeatpumpIR
|
||||||
{
|
{
|
||||||
|
@ -35,8 +39,9 @@ class SharpHeatpumpIR : public HeatpumpIR
|
||||||
SharpHeatpumpIR();
|
SharpHeatpumpIR();
|
||||||
void send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd);
|
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);
|
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
|
#endif
|
||||||
|
|
|
@ -26,6 +26,7 @@ HisenseHeatpumpIR KEYWORD1
|
||||||
GreeHeatpumpIR KEYWORD1
|
GreeHeatpumpIR KEYWORD1
|
||||||
FuegoHeatpumpIR KEYWORD1
|
FuegoHeatpumpIR KEYWORD1
|
||||||
ToshibaHeatpumpIR KEYWORD1
|
ToshibaHeatpumpIR KEYWORD1
|
||||||
|
IVTHeatpumpIR KEYWORD1
|
||||||
|
|
||||||
IRSender KEYWORD1
|
IRSender KEYWORD1
|
||||||
IRSenderPWM KEYWORD1
|
IRSenderPWM KEYWORD1
|
||||||
|
|
Loading…
Reference in New Issue