mirror of
https://github.com/anklimov/lighthub
synced 2025-12-06 11:49:51 +03:00
ac fan mode fix
This commit is contained in:
@@ -180,6 +180,20 @@ void SendData(byte req[], size_t size){
|
|||||||
AC_Serial.write(req, size - 1);
|
AC_Serial.write(req, size - 1);
|
||||||
AC_Serial.write(getCRC(req, size-1));
|
AC_Serial.write(getCRC(req, size-1));
|
||||||
AC_Serial.flush();
|
AC_Serial.flush();
|
||||||
|
|
||||||
|
Serial.print("<<");
|
||||||
|
for (int i=0; i < size-1; i++)
|
||||||
|
{
|
||||||
|
if (req[i] < 10){
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(req[i], HEX);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Serial.print(req[i], HEX);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Serial.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline unsigned char toHex( char ch ){
|
inline unsigned char toHex( char ch ){
|
||||||
@@ -245,7 +259,7 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, boolean send, int suffixC
|
|||||||
else if (strcmp_P(subItem, QUIET_P) == 0) suffixCode = S_QUIET;
|
else if (strcmp_P(subItem, QUIET_P) == 0) suffixCode = S_QUIET;
|
||||||
else if (strcmp_P(subItem, RAW_P) == 0) suffixCode = S_RAW;
|
else if (strcmp_P(subItem, RAW_P) == 0) suffixCode = S_RAW;
|
||||||
|
|
||||||
data[B_POWER] = power;
|
//data[B_POWER] = power;
|
||||||
// debugSerial<<F(".");
|
// debugSerial<<F(".");
|
||||||
switch(suffixCode)
|
switch(suffixCode)
|
||||||
{
|
{
|
||||||
@@ -264,6 +278,7 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, boolean send, int suffixC
|
|||||||
{
|
{
|
||||||
case CMD_ON:
|
case CMD_ON:
|
||||||
case CMD_XON:
|
case CMD_XON:
|
||||||
|
data[B_POWER] = power;
|
||||||
data[B_POWER] |= 1;
|
data[B_POWER] |= 1;
|
||||||
SendData(on, sizeof(on)/sizeof(byte));
|
SendData(on, sizeof(on)/sizeof(byte));
|
||||||
if (send) publishTopic(item->itemArr->name,"ON","/cmd");
|
if (send) publishTopic(item->itemArr->name,"ON","/cmd");
|
||||||
@@ -271,6 +286,7 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, boolean send, int suffixC
|
|||||||
break;
|
break;
|
||||||
case CMD_OFF:
|
case CMD_OFF:
|
||||||
case CMD_HALT:
|
case CMD_HALT:
|
||||||
|
data[B_POWER] = power;
|
||||||
data[B_POWER] &= ~1;
|
data[B_POWER] &= ~1;
|
||||||
SendData(off, sizeof(off)/sizeof(byte));
|
SendData(off, sizeof(off)/sizeof(byte));
|
||||||
if (send) publishTopic(item->itemArr->name,"OFF","/cmd");
|
if (send) publishTopic(item->itemArr->name,"OFF","/cmd");
|
||||||
@@ -278,26 +294,32 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, boolean send, int suffixC
|
|||||||
break;
|
break;
|
||||||
case CMD_AUTO:
|
case CMD_AUTO:
|
||||||
data[B_MODE] = 0;
|
data[B_MODE] = 0;
|
||||||
|
data[B_POWER] = power;
|
||||||
data[B_POWER] |= 1;
|
data[B_POWER] |= 1;
|
||||||
strcpy_P(s_mode,AUTO_P);
|
strcpy_P(s_mode,AUTO_P);
|
||||||
break;
|
break;
|
||||||
case CMD_COOL:
|
case CMD_COOL:
|
||||||
data[B_MODE] = 1;
|
data[B_MODE] = 1;
|
||||||
|
data[B_POWER] = power;
|
||||||
data[B_POWER] |= 1;
|
data[B_POWER] |= 1;
|
||||||
strcpy_P(s_mode,COOL_P);
|
strcpy_P(s_mode,COOL_P);
|
||||||
break;
|
break;
|
||||||
case CMD_HEAT:
|
case CMD_HEAT:
|
||||||
data[B_MODE] = 2;
|
data[B_MODE] = 2;
|
||||||
|
data[B_POWER] = power;
|
||||||
data[B_POWER] |= 1;
|
data[B_POWER] |= 1;
|
||||||
strcpy_P(s_mode,HEAT_P);
|
strcpy_P(s_mode,HEAT_P);
|
||||||
break;
|
break;
|
||||||
case CMD_DRY:
|
case CMD_DRY:
|
||||||
data[B_MODE] = 4;
|
data[B_MODE] = 4;
|
||||||
|
data[B_POWER] = power;
|
||||||
data[B_POWER] |= 1;
|
data[B_POWER] |= 1;
|
||||||
strcpy_P(s_mode,DRY_P);
|
strcpy_P(s_mode,DRY_P);
|
||||||
break;
|
break;
|
||||||
case CMD_FAN:
|
case CMD_FAN:
|
||||||
data[B_MODE] = 3;
|
data[B_MODE] = 3;
|
||||||
|
debugSerial<<"fan\n";
|
||||||
|
data[B_POWER] = power;
|
||||||
data[B_POWER] |= 1;
|
data[B_POWER] |= 1;
|
||||||
strcpy_P(s_mode,FAN_ONLY_P);
|
strcpy_P(s_mode,FAN_ONLY_P);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user