diff --git a/lighthub/item.cpp b/lighthub/item.cpp index 0e9f439..31e3200 100644 --- a/lighthub/item.cpp +++ b/lighthub/item.cpp @@ -604,11 +604,8 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send, int suffixCode switch (cmd) { case 0: // No command - set params - // toExecute = true; - // case CMD_SET: // new style SET - w/o turning ON + if (!suffixCode) toExecute= true; - //if (/*itemType !=CH_THERMO && */send) setCmd(CMD_SET); //prevent ON thermostat by semp set ???? - //////// setCmd(CMD_SET); ///??? trying... no switch (itemType) { case CH_RGBW: //only if configured VAL array @@ -642,7 +639,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send, int suffixCode st.hsv_flag = 1; } setVal(st.aslong); - if (toExecute) + if (!suffixCode) { // if (chActive>0 && !st.v) setCmd(CMD_OFF); if (chActive==0 && st.v) setCmd(CMD_ON); @@ -656,7 +653,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send, int suffixCode case CH_MODBUS: setVal(Par[0]); // Store value // setCmd(cmd2changeActivity(chActive,cmd)); - if (toExecute) + if (!suffixCode) { // Not restoring, working if (chActive>0 && !Par[0]) setCmd(CMD_OFF); if (chActive==0 && Par[0]) setCmd(CMD_ON); @@ -1192,13 +1189,14 @@ extern ModbusMaster node; int Item::VacomSetFan(int8_t val, int8_t cmd) { + uint8_t result; int addr = getArg(); debugSerial<")<<_HEX(_reg)<setVal(st=Parameters[0]); //Store - if (toExecute) + if (!suffixCode) { if (chActive>0 && !st) item->setCmd(CMD_OFF); if (chActive==0 && st) item->setCmd(CMD_ON); diff --git a/lighthub/modules/out_spiled.cpp b/lighthub/modules/out_spiled.cpp index 553155a..921046c 100644 --- a/lighthub/modules/out_spiled.cpp +++ b/lighthub/modules/out_spiled.cpp @@ -240,7 +240,7 @@ case S_HSV: if (!subItem) //Whole strip { item->setVal(st.aslong); //Store - if (toExecute) + if (!suffixCode) { if (chActive>0 && !st.v) item->setCmd(CMD_OFF); if (chActive==0 && st.v) item->setCmd(CMD_ON); @@ -258,7 +258,7 @@ case S_RGB: st.hsv_flag = 0; PixelCtrl(&st,0,from,to,toExecute,true); //item->setVal(st.aslong); //Store -if (toExecute) +if (!suffixCode) { if (chActive>0 && !st.aslong) item->setCmd(CMD_OFF); if (chActive==0 && st.aslong) item->setCmd(CMD_ON);