Mitsubishi MSY fixes
This commit is contained in:
parent
2f1e53e609
commit
ebca04982e
|
@ -93,9 +93,48 @@ void MitsubishiHeatpumpIR::send(IRSender& IR, uint8_t powerModeCmd, uint8_t oper
|
||||||
powerMode = MITSUBISHI_AIRCON1_MODE_OFF;
|
powerMode = MITSUBISHI_AIRCON1_MODE_OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_mitsubishiModel != MITSUBISHI_MSY)
|
if (_mitsubishiModel == MITSUBISHI_FA) // set operating model for FA
|
||||||
|
{
|
||||||
|
switch (operatingModeCmd)
|
||||||
|
{
|
||||||
|
case MODE_AUTO:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON3_MODE_AUTO;
|
||||||
|
break;
|
||||||
|
case MODE_HEAT:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON3_MODE_HEAT;
|
||||||
|
break;
|
||||||
|
case MODE_COOL:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON3_MODE_COOL;
|
||||||
|
break;
|
||||||
|
case MODE_DRY:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON3_MODE_DRY;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (_mitsubishiModel == MITSUBISHI_MSY)
|
||||||
|
{
|
||||||
|
operatingMode = MITSUBISHI_AIRCON2_MODE_COOL;
|
||||||
|
switch (operatingModeCmd)
|
||||||
|
{
|
||||||
|
case MODE_AUTO:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON2_MODE_IFEEL;
|
||||||
|
break;
|
||||||
|
case MODE_HEAT:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON1_MODE_HEAT;
|
||||||
|
break;
|
||||||
|
case MODE_COOL:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON2_MODE_COOL;
|
||||||
|
break;
|
||||||
|
case MODE_DRY:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON1_MODE_DRY;
|
||||||
|
break;
|
||||||
|
case MODE_FAN:
|
||||||
|
operatingMode = MITSUBISHI_AIRCON2_MODE_FAN;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
Serial.printf("Mode=%d\n",operatingModeCmd);
|
|
||||||
switch (operatingModeCmd)
|
switch (operatingModeCmd)
|
||||||
{
|
{
|
||||||
case MODE_AUTO:
|
case MODE_AUTO:
|
||||||
|
@ -129,43 +168,6 @@ void MitsubishiHeatpumpIR::send(IRSender& IR, uint8_t powerModeCmd, uint8_t oper
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_mitsubishiModel == MITSUBISHI_FA) // set operating model for FA
|
|
||||||
{
|
|
||||||
switch (operatingModeCmd)
|
|
||||||
{
|
|
||||||
case MODE_AUTO:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON3_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
case MODE_HEAT:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON3_MODE_HEAT;
|
|
||||||
break;
|
|
||||||
case MODE_COOL:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON3_MODE_COOL;
|
|
||||||
break;
|
|
||||||
case MODE_DRY:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON3_MODE_DRY;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
operatingMode = MITSUBISHI_AIRCON2_MODE_COOL;
|
|
||||||
switch (operatingModeCmd)
|
|
||||||
{
|
|
||||||
case MODE_AUTO:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON2_MODE_IFEEL;
|
|
||||||
break;
|
|
||||||
case MODE_COOL:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON2_MODE_COOL;
|
|
||||||
break;
|
|
||||||
case MODE_DRY:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON2_MODE_DRY;
|
|
||||||
break;
|
|
||||||
case MODE_FAN:
|
|
||||||
operatingMode = MITSUBISHI_AIRCON2_MODE_FAN;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (fanSpeedCmd)
|
switch (fanSpeedCmd)
|
||||||
{
|
{
|
||||||
|
@ -282,8 +284,8 @@ void MitsubishiHeatpumpIR::sendMitsubishi(IRSender& IR, uint8_t powerMode, uint8
|
||||||
// KJ has a bit different template
|
// KJ has a bit different template
|
||||||
if (_mitsubishiModel == MITSUBISHI_KJ) {
|
if (_mitsubishiModel == MITSUBISHI_KJ) {
|
||||||
MitsubishiTemplate[15] = 0x00;
|
MitsubishiTemplate[15] = 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the operatingmode on the template message
|
// Set the operatingmode on the template message
|
||||||
MitsubishiTemplate[5] = powerMode;
|
MitsubishiTemplate[5] = powerMode;
|
||||||
MitsubishiTemplate[6] = operatingMode;
|
MitsubishiTemplate[6] = operatingMode;
|
||||||
|
@ -303,12 +305,12 @@ void MitsubishiHeatpumpIR::sendMitsubishi(IRSender& IR, uint8_t powerMode, uint8
|
||||||
// Set the fan speed and vertical air direction on the template message
|
// Set the fan speed and vertical air direction on the template message
|
||||||
MitsubishiTemplate[9] = fanSpeed | swingV;
|
MitsubishiTemplate[9] = fanSpeed | swingV;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (_mitsubishiModel == MITSUBISHI_KJ) {
|
if (_mitsubishiModel == MITSUBISHI_KJ) {
|
||||||
MitsubishiTemplate[8] = 0;
|
MitsubishiTemplate[8] = 0;
|
||||||
if ( operatingMode == MITSUBISHI_AIRCON1_MODE_AUTO || operatingMode == MITSUBISHI_AIRCON1_MODE_COOL )
|
if ( operatingMode == MITSUBISHI_AIRCON1_MODE_AUTO || operatingMode == MITSUBISHI_AIRCON1_MODE_COOL )
|
||||||
MitsubishiTemplate[8] = 0x6;
|
MitsubishiTemplate[8] = 0x6;
|
||||||
if ( operatingMode == MITSUBISHI_AIRCON1_MODE_DRY )
|
if ( operatingMode == MITSUBISHI_AIRCON1_MODE_DRY )
|
||||||
MitsubishiTemplate[8] = 0x2;
|
MitsubishiTemplate[8] = 0x2;
|
||||||
|
|
||||||
|
@ -319,8 +321,8 @@ void MitsubishiHeatpumpIR::sendMitsubishi(IRSender& IR, uint8_t powerMode, uint8
|
||||||
|
|
||||||
#ifdef USE_TIME_H
|
#ifdef USE_TIME_H
|
||||||
time(&now);
|
time(&now);
|
||||||
timeinfo = localtime(&now);
|
timeinfo = localtime(&now);
|
||||||
|
|
||||||
MitsubishiTemplate[10] = (uint8_t)(timeinfo->tm_hour * 60 + timeinfo->tm_min)/6;
|
MitsubishiTemplate[10] = (uint8_t)(timeinfo->tm_hour * 60 + timeinfo->tm_min)/6;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -329,7 +331,7 @@ void MitsubishiHeatpumpIR::sendMitsubishi(IRSender& IR, uint8_t powerMode, uint8
|
||||||
Serial.printf("Send time %02d:%02d day %d --> %x\n", sendHour, sendMinute, sendWeekday, (sendHour * 60 + sendMinute)/10);
|
Serial.printf("Send time %02d:%02d day %d --> %x\n", sendHour, sendMinute, sendWeekday, (sendHour * 60 + sendMinute)/10);
|
||||||
MitsubishiTemplate[10] = (uint8_t)((sendHour * 60 + sendMinute)/10);
|
MitsubishiTemplate[10] = (uint8_t)((sendHour * 60 + sendMinute)/10);
|
||||||
// Sunday is start if week , value 1
|
// Sunday is start if week , value 1
|
||||||
MitsubishiTemplate[14] = TempTranslate[( sendWeekday - 1 ) % 7];
|
MitsubishiTemplate[14] = TempTranslate[( sendWeekday - 1 ) % 7];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Serial.printf("Send time %02d:%02d --> %x\n", sendHour, sendMinute, (sendHour * 60 + sendMinute)/6);
|
Serial.printf("Send time %02d:%02d --> %x\n", sendHour, sendMinute, (sendHour * 60 + sendMinute)/6);
|
||||||
|
@ -385,5 +387,3 @@ void MitsubishiHeatpumpIR::sendMitsubishi(IRSender& IR, uint8_t powerMode, uint8
|
||||||
IR.mark(MITSUBISHI_AIRCON1_BIT_MARK);
|
IR.mark(MITSUBISHI_AIRCON1_BIT_MARK);
|
||||||
IR.space(0);
|
IR.space(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,14 +28,13 @@
|
||||||
#define MITSUBISHI_AIRCON2_MODE_COOL 0x18 // MSY cool mode
|
#define MITSUBISHI_AIRCON2_MODE_COOL 0x18 // MSY cool mode
|
||||||
#define MITSUBISHI_AIRCON3_MODE_COOL 0x58 // FA cool mode
|
#define MITSUBISHI_AIRCON3_MODE_COOL 0x58 // FA cool mode
|
||||||
#define MITSUBISHI_AIRCON1_MODE_DRY 0x10
|
#define MITSUBISHI_AIRCON1_MODE_DRY 0x10
|
||||||
#define MITSUBISHI_AIRCON2_MODE_DRY 0x18 // MSY DRY mode
|
|
||||||
#define MITSUBISHI_AIRCON3_MODE_DRY 0x50 // FA dry mode
|
#define MITSUBISHI_AIRCON3_MODE_DRY 0x50 // FA dry mode
|
||||||
#define MITSUBISHI_AIRCON1_MODE_FAN 0x38 // EF 'FAN' mode
|
#define MITSUBISHI_AIRCON1_MODE_FAN 0x38 // EF 'FAN' mode
|
||||||
#define MITSUBISHI_AIRCON2_MODE_FAN 0x38 // MSY fan mode
|
#define MITSUBISHI_AIRCON2_MODE_FAN 0x38 // MSY fan mode
|
||||||
#define MITSUBISHI_AIRCON1_MODE_ISEE 0x40 // Isee
|
#define MITSUBISHI_AIRCON1_MODE_ISEE 0x40 // Isee
|
||||||
#define MITSUBISHI_AIRCON2_MODE_IFEEL 0x00 // MSY
|
#define MITSUBISHI_AIRCON2_MODE_IFEEL 0x00 // MSY
|
||||||
|
|
||||||
#define MITSUBISHI_AIRCON1_MODE_OFF 0x00 // Power FFi
|
#define MITSUBISHI_AIRCON1_MODE_OFF 0x00 // Power OFF
|
||||||
#define MITSUBISHI_AIRCON1_MODE_ON 0x20 // Power ON
|
#define MITSUBISHI_AIRCON1_MODE_ON 0x20 // Power ON
|
||||||
|
|
||||||
// Mitsubishi fan codes
|
// Mitsubishi fan codes
|
||||||
|
|
Loading…
Reference in New Issue