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); ic.setSuffix(suffixCode);
return Ctrl(ic,subItem); return Ctrl(ic,subItem);
} }
//debugSerial<<F("SuffixCode: ")<<suffixCode<<endl;
int i=0; int i=0;
while (payload[i]) {payload[i]=toupper(payload[i]);i++;}; 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.HSV255(Par0.getInt(),Par[0],Par[1]);
st.setColorTemp(Par[2]); st.setColorTemp(Par[2]);
break; 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; int len;
strncpy_P(Buffer, commands_P[cmd.cmdCode], bufLen); strncpy_P(Buffer, commands_P[cmd.cmdCode], bufLen);
//strncat(Buffer, " ", bufLen); if (isValue() && (sendFlags & SEND_PARAMETERS)) strncat(Buffer, " ", bufLen);
len=strlen(Buffer); len=strlen(Buffer);
argPtr+=len; argPtr+=len;
bufLen-=len; bufLen-=len;
@@ -1084,9 +1084,9 @@ char * itemCmd::toString(char * Buffer, int bufLen, int sendFlags, bool scale100
} }
if (isValue() && (sendFlags & SEND_PARAMETERS)) if (isValue() && (sendFlags & SEND_PARAMETERS))
{ {
strncat(Buffer, " ", bufLen); //strncat(Buffer, " ", bufLen);
bufLen--; //bufLen--;
argPtr++; //argPtr++;
switch (cmd.itemArgType) switch (cmd.itemArgType)
{ short colorTemp; { short colorTemp;

View File

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

View File

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

View File

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