mirror of
https://github.com/anklimov/lighthub
synced 2025-12-09 13:19:50 +03:00
UNTESTED interim commit with refactoring
This commit is contained in:
@@ -129,7 +129,7 @@ void out_AC::InsertData(byte data[], size_t size){
|
||||
/////////////////////////////////
|
||||
|
||||
publishTopic(item->itemArr->name,(long)set_tmp,"/set");
|
||||
publishTopic(item->itemArr->name, (long)cur_tmp, "/temp");
|
||||
if (cur_tmp!=255) publishTopic(item->itemArr->name, (long)cur_tmp, "/temp");
|
||||
////////////////////////////////////
|
||||
s_mode[0]='\0';
|
||||
|
||||
@@ -148,6 +148,9 @@ void out_AC::InsertData(byte data[], size_t size){
|
||||
else if (mode == 0x04){
|
||||
strcpy_P(s_mode,DRY_P);
|
||||
}
|
||||
else if (mode == 109){
|
||||
strcpy_P(s_mode,ERROR_P);
|
||||
}
|
||||
|
||||
publishTopic(item->itemArr->name, (long) mode, "/mode");
|
||||
|
||||
@@ -259,7 +262,8 @@ delay(100);
|
||||
return INTERVAL_POLLING;
|
||||
};
|
||||
|
||||
int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* subItem)
|
||||
//int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* subItem)
|
||||
int out_AC::Ctrl(itemCmd cmd, int suffixCode, char* subItem)
|
||||
{char s_mode[10];
|
||||
// Some additional Subitems
|
||||
if (strcmp_P(subItem, LOCK_P) == 0) suffixCode = S_LOCK;
|
||||
@@ -267,12 +271,14 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* su
|
||||
else if (strcmp_P(subItem, QUIET_P) == 0) suffixCode = S_QUIET;
|
||||
else if (strcmp_P(subItem, RAW_P) == 0) suffixCode = S_RAW;
|
||||
|
||||
if (cmd.isCommand() && !suffixCode) suffixCode=S_CMD; //if some known command find, but w/o correct suffix - got it
|
||||
|
||||
//data[B_POWER] = power;
|
||||
// debugSerial<<F(".");
|
||||
switch(suffixCode)
|
||||
{
|
||||
case S_SET:
|
||||
set_tmp = Parameters[0];
|
||||
set_tmp = cmd.getInt();
|
||||
if (set_tmp >= 10 && set_tmp <= 30)
|
||||
{
|
||||
data[B_SET_TMP] = set_tmp -16;
|
||||
@@ -282,7 +288,7 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* su
|
||||
|
||||
case S_CMD:
|
||||
s_mode[0]='\0';
|
||||
switch (cmd)
|
||||
switch (cmd.getCmd())
|
||||
{
|
||||
case CMD_ON:
|
||||
case CMD_XON:
|
||||
@@ -340,7 +346,7 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* su
|
||||
|
||||
case S_FAN:
|
||||
s_mode[0]='\0';
|
||||
switch (cmd)
|
||||
switch (cmd.getCmd())
|
||||
{
|
||||
case CMD_AUTO:
|
||||
data[B_FAN_SPD] = 3;
|
||||
@@ -359,18 +365,20 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* su
|
||||
strcpy_P(s_mode,LOW_P);
|
||||
break;
|
||||
default:
|
||||
if (n) data[B_FAN_SPD] = Parameters[0];
|
||||
//if (n) data[B_FAN_SPD] = Parameters[0];
|
||||
data[B_FAN_SPD] = cmd.getInt();
|
||||
//TODO - mapping digits to speed
|
||||
}
|
||||
publishTopic(item->itemArr->name,s_mode,"/fan");
|
||||
break;
|
||||
|
||||
case S_MODE:
|
||||
data[B_MODE] = Parameters[0];
|
||||
//data[B_MODE] = Parameters[0];
|
||||
data[B_MODE] = cmd.getInt();
|
||||
break;
|
||||
|
||||
case S_LOCK:
|
||||
switch (cmd)
|
||||
switch (cmd.getCmd())
|
||||
{
|
||||
case CMD_ON:
|
||||
data[B_LOCK_REM] = 80;
|
||||
@@ -382,7 +390,7 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* su
|
||||
break;
|
||||
|
||||
case S_SWING:
|
||||
switch (cmd)
|
||||
switch (cmd.getCmd())
|
||||
{
|
||||
case CMD_ON:
|
||||
data[B_LOCK_REM] = 3;
|
||||
@@ -391,12 +399,13 @@ int out_AC::Ctrl(short cmd, short n, int * Parameters, int suffixCode, char* su
|
||||
data[B_LOCK_REM] = 0;
|
||||
break;
|
||||
default:
|
||||
if (n) data[B_SWING] = Parameters[0];
|
||||
//if (n) data[B_SWING] = Parameters[0];
|
||||
data[B_SWING] = cmd.getInt();
|
||||
}
|
||||
break;
|
||||
|
||||
case S_QUIET:
|
||||
switch (cmd)
|
||||
switch (cmd.getCmd())
|
||||
{
|
||||
case CMD_ON:
|
||||
data[B_POWER] |= 8;
|
||||
|
||||
Reference in New Issue
Block a user