extra space MQTT starus payload removed

This commit is contained in:
2022-01-27 03:52:56 +03:00
parent c7d1bc65c0
commit d76867063e
5 changed files with 38 additions and 27 deletions

View File

@@ -547,7 +547,7 @@ if (suffixCode == S_RAW)
ic.setSuffix(suffixCode);
return Ctrl(ic,subItem);
}
//debugSerial<<F("SuffixCode: ")<<suffixCode<<endl;
int i=0;
while (payload[i]) {payload[i]=toupper(payload[i]);i++;};
@@ -607,7 +607,7 @@ st.setSuffix(suffixCode);
st.HSV255(Par0.getInt(),Par[0],Par[1]);
st.setColorTemp(Par[2]);
break;
default:;
default: errorSerial<<F("Wrong paylad")<<endl;
}
}

View File

@@ -1076,7 +1076,7 @@ char * itemCmd::toString(char * Buffer, int bufLen, int sendFlags, bool scale100
{
int len;
strncpy_P(Buffer, commands_P[cmd.cmdCode], bufLen);
//strncat(Buffer, " ", bufLen);
if (isValue() && (sendFlags & SEND_PARAMETERS)) strncat(Buffer, " ", bufLen);
len=strlen(Buffer);
argPtr+=len;
bufLen-=len;
@@ -1084,9 +1084,9 @@ char * itemCmd::toString(char * Buffer, int bufLen, int sendFlags, bool scale100
}
if (isValue() && (sendFlags & SEND_PARAMETERS))
{
strncat(Buffer, " ", bufLen);
bufLen--;
argPtr++;
//strncat(Buffer, " ", bufLen);
//bufLen--;
//argPtr++;
switch (cmd.itemArgType)
{ short colorTemp;

View File

@@ -424,8 +424,10 @@ else
*/
if (itemName[0]=='$') return;// -6; //Skipping homie stuff
//debugSerial<<F("itemName ")<<itemName<<endl;
Item item(itemName);
if (item.isValid()) item.Ctrl((char *)payload);
// else debugSerial<<F("item invalid")<<endl;
return;// -7;
}

View File

@@ -170,6 +170,8 @@ if (store && store->pid && (Status() == CST_INITIALIZED) && item && (item->getCm
{
if(store->pid->Compute() )
{
int alarmVal;
if (store->alarmArmed && (alarmVal=getAlarmVal()>=0)) store->output=alarmVal;
debugSerial<<F("PID ")<<item->itemArr->name<<F(" set:")<<store->setpoint<<F(" in:")<<store->input<<(" out:") << store->output <<F(" P:")<<store->pid->GetKp() <<F(" I:")<<store->pid->GetKi() <<F(" D:")<<store->pid->GetKd();
if (store->alarmArmed) debugSerial << F(" Alarm");
debugSerial<<endl;
@@ -194,22 +196,16 @@ if (store && store->pid && (Status() == CST_INITIALIZED) && item && (item->getCm
return 1;//store->pollingInterval;
};
void out_pid::alarm(bool state)
int out_pid::getAlarmVal()
{
if (!item || !item->itemArg) return;
if (state)
{
aJsonObject * kPIDObj = aJson.getArrayItem(item->itemArg, 0);
if (!kPIDObj || kPIDObj->type != aJson_Array)
{
errorSerial<<F("Invalid PID param array.")<<endl;
return;
return -1;
}
float outAlarm=0.;
int outAlarm=0;
double kP=0.;
bool alarmValDefined = false;
@@ -240,12 +236,25 @@ if (!item || !item->itemArg) return;
else if (!alarmValDefined) outAlarm = .255;
}
}
errorSerial<<item->itemArr->name<<F(" PID alarm. Set out to ")<<outAlarm<<endl;
return outAlarm;
}
void out_pid::alarm(bool state)
{
if (!item || !item->itemArg) return;
if (state)
{
float outAlarm=getAlarmVal();
errorSerial<<item->itemArr->name<<F(" PID alarm. ")<<endl;
if (outAlarm>=0)
{
errorSerial<<F("Set out to ")<<outAlarm<<endl;
aJsonObject * oCmd = aJson.getArrayItem(item->itemArg, 1);
itemCmd value (outAlarm);// * (100./255.)));
itemCmd value ((float)outAlarm);// * (100./255.)));
executeCommand(oCmd,-1,value);
}
}
else
{
infoSerial<<item->itemArr->name<<F(" PID alarm: closed")<<endl;

View File

@@ -95,23 +95,23 @@ int out_pwm::getChanType()
{
if (item)
{
debugSerial<<F("PWM Chan type ");
//debugSerial<<F("PWM Chan type ");
switch (numArgs)
{
case 3:
debugSerial<<F("RGB")<<endl;
// debugSerial<<F("RGB")<<endl;
return CH_RGB;
case 4:
debugSerial<<F("RGBW")<<endl;
// debugSerial<<F("RGBW")<<endl;
return CH_RGBW;
case 5:
debugSerial<<F("RGBWW")<<endl;
// debugSerial<<F("RGBWW")<<endl;
return CH_RGBWW;
default:
debugSerial<<F("#")<<item->itemType<<endl;
// debugSerial<<F("#")<<item->itemType<<endl;
return item->itemType;
}
}