log_data => TasmotaGlobal.log_data; mqtt_data => TasmotaGlobal.mqtt_data

This commit is contained in:
Marcus 2021-01-04 10:42:06 +01:00
parent 8eafc7d474
commit 3f9960719a
2 changed files with 21 additions and 21 deletions

View File

@ -106,7 +106,7 @@ void Timeprop_Set_Power( int index, float power )
void Timeprop_Init() void Timeprop_Init()
{ {
snprintf_P(log_data, sizeof(log_data), "Timeprop Init"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "Timeprop Init");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
int cycleTimes[TIMEPROP_NUM_OUTPUTS] = {TIMEPROP_CYCLETIMES}; int cycleTimes[TIMEPROP_NUM_OUTPUTS] = {TIMEPROP_CYCLETIMES};
int deadTimes[TIMEPROP_NUM_OUTPUTS] = {TIMEPROP_DEADTIMES}; int deadTimes[TIMEPROP_NUM_OUTPUTS] = {TIMEPROP_DEADTIMES};
@ -182,7 +182,7 @@ boolean Timeprop_Command()
if (XdrvMailbox.index >=0 && XdrvMailbox.index < TIMEPROP_NUM_OUTPUTS) { if (XdrvMailbox.index >=0 && XdrvMailbox.index < TIMEPROP_NUM_OUTPUTS) {
timeprops[XdrvMailbox.index].setPower( atof(XdrvMailbox.data), timeprop_current_time_secs ); timeprops[XdrvMailbox.index].setPower( atof(XdrvMailbox.data), timeprop_current_time_secs );
} }
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_TIMEPROP D_CMND_TIMEPROP_SETPOWER "%d\":\"%s\"}"), snprintf_P(TasmotaGlobal.mqtt_data, sizeof(TasmotaGlobal.mqtt_data), PSTR("{\"" D_CMND_TIMEPROP D_CMND_TIMEPROP_SETPOWER "%d\":\"%s\"}"),
XdrvMailbox.index, XdrvMailbox.data); XdrvMailbox.index, XdrvMailbox.data);
} }
else { else {

View File

@ -160,7 +160,7 @@ static long pid_current_time_secs = 0; // a counter that counts seconds since i
void PID_Init() void PID_Init()
{ {
snprintf_P(log_data, sizeof(log_data), "PID Init"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID Init");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.initialise( PID_SETPOINT, PID_PROPBAND, PID_INTEGRAL_TIME, PID_DERIVATIVE_TIME, PID_INITIAL_INT, pid.initialise( PID_SETPOINT, PID_PROPBAND, PID_INTEGRAL_TIME, PID_DERIVATIVE_TIME, PID_INITIAL_INT,
PID_MAX_INTERVAL, PID_DERIV_SMOOTH_FACTOR, PID_AUTO, PID_MANUAL_POWER ); PID_MAX_INTERVAL, PID_DERIV_SMOOTH_FACTOR, PID_AUTO, PID_MANUAL_POWER );
@ -182,7 +182,7 @@ void PID_Show_Sensor() {
// as published in tele/SENSOR // as published in tele/SENSOR
// Update period is specified in TELE_PERIOD // Update period is specified in TELE_PERIOD
// e.g. "{"Time":"2018-03-13T16:48:05","DS18B20":{"Temperature":22.0},"TempUnit":"C"}" // e.g. "{"Time":"2018-03-13T16:48:05","DS18B20":{"Temperature":22.0},"TempUnit":"C"}"
snprintf_P(log_data, sizeof(log_data), "PID_Show_Sensor: mqtt_data: %s", mqtt_data); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID_Show_Sensor: mqtt_data: %s", TasmotaGlobal.mqtt_data);
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
StaticJsonBuffer<400> jsonBuffer; StaticJsonBuffer<400> jsonBuffer;
// force mqtt_data to read only to stop parse from overwriting it // force mqtt_data to read only to stop parse from overwriting it
@ -191,7 +191,7 @@ void PID_Show_Sensor() {
const char* value = data_json["DS18B20"]["Temperature"]; const char* value = data_json["DS18B20"]["Temperature"];
// check that something was found and it contains a number // check that something was found and it contains a number
if (value != NULL && strlen(value) > 0 && (isdigit(value[0]) || (value[0] == '-' && isdigit(value[1])) ) ) { if (value != NULL && strlen(value) > 0 && (isdigit(value[0]) || (value[0] == '-' && isdigit(value[1])) ) ) {
snprintf_P(log_data, sizeof(log_data), "PID_Show_Sensor: Temperature: %s", value); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID_Show_Sensor: Temperature: %s", value);
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
// pass the value to the pid alogorithm to use as current pv // pass the value to the pid alogorithm to use as current pv
last_pv_update_secs = pid_current_time_secs; last_pv_update_secs = pid_current_time_secs;
@ -202,12 +202,12 @@ void PID_Show_Sensor() {
run_pid_now = true; run_pid_now = true;
} }
} else { } else {
snprintf_P(log_data, sizeof(log_data), "PID_Show_Sensor - no temperature found"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID_Show_Sensor - no temperature found");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
} }
} else { } else {
// parse failed // parse failed
snprintf_P(log_data, sizeof(log_data), "PID_Show_Sensor - json parse failed"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID_Show_Sensor - json parse failed");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
} }
} }
@ -228,7 +228,7 @@ boolean PID_Command()
boolean serviced = true; boolean serviced = true;
uint8_t ua_prefix_len = strlen(D_CMND_PID); // to detect prefix of command uint8_t ua_prefix_len = strlen(D_CMND_PID); // to detect prefix of command
snprintf_P(log_data, sizeof(log_data), "Command called: " snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "Command called: "
"index: %d data_len: %d payload: %d topic: %s data: %s", "index: %d data_len: %d payload: %d topic: %s data: %s",
XdrvMailbox.index, XdrvMailbox.index,
XdrvMailbox.data_len, XdrvMailbox.data_len,
@ -243,7 +243,7 @@ boolean PID_Command()
serviced = true; serviced = true;
switch (command_code) { switch (command_code) {
case CMND_PID_SETPV: case CMND_PID_SETPV:
snprintf_P(log_data, sizeof(log_data), "PID command setpv"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command setpv");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
last_pv_update_secs = pid_current_time_secs; last_pv_update_secs = pid_current_time_secs;
pid.setPv(atof(XdrvMailbox.data), last_pv_update_secs); pid.setPv(atof(XdrvMailbox.data), last_pv_update_secs);
@ -255,62 +255,62 @@ boolean PID_Command()
break; break;
case CMND_PID_SETSETPOINT: case CMND_PID_SETSETPOINT:
snprintf_P(log_data, sizeof(log_data), "PID command setsetpoint"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command setsetpoint");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setSp(atof(XdrvMailbox.data)); pid.setSp(atof(XdrvMailbox.data));
break; break;
case CMND_PID_SETPROPBAND: case CMND_PID_SETPROPBAND:
snprintf_P(log_data, sizeof(log_data), "PID command propband"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command propband");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setPb(atof(XdrvMailbox.data)); pid.setPb(atof(XdrvMailbox.data));
break; break;
case CMND_PID_SETINTEGRAL_TIME: case CMND_PID_SETINTEGRAL_TIME:
snprintf_P(log_data, sizeof(log_data), "PID command Ti"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command Ti");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setTi(atof(XdrvMailbox.data)); pid.setTi(atof(XdrvMailbox.data));
break; break;
case CMND_PID_SETDERIVATIVE_TIME: case CMND_PID_SETDERIVATIVE_TIME:
snprintf_P(log_data, sizeof(log_data), "PID command Td"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command Td");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setTd(atof(XdrvMailbox.data)); pid.setTd(atof(XdrvMailbox.data));
break; break;
case CMND_PID_SETINITIAL_INT: case CMND_PID_SETINITIAL_INT:
snprintf_P(log_data, sizeof(log_data), "PID command initial int"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command initial int");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setInitialInt(atof(XdrvMailbox.data)); pid.setInitialInt(atof(XdrvMailbox.data));
break; break;
case CMND_PID_SETDERIV_SMOOTH_FACTOR: case CMND_PID_SETDERIV_SMOOTH_FACTOR:
snprintf_P(log_data, sizeof(log_data), "PID command deriv smooth"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command deriv smooth");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setDSmooth(atof(XdrvMailbox.data)); pid.setDSmooth(atof(XdrvMailbox.data));
break; break;
case CMND_PID_SETAUTO: case CMND_PID_SETAUTO:
snprintf_P(log_data, sizeof(log_data), "PID command auto"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command auto");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setAuto(atoi(XdrvMailbox.data)); pid.setAuto(atoi(XdrvMailbox.data));
break; break;
case CMND_PID_SETMANUAL_POWER: case CMND_PID_SETMANUAL_POWER:
snprintf_P(log_data, sizeof(log_data), "PID command manual power"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command manual power");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
pid.setManualPower(atof(XdrvMailbox.data)); pid.setManualPower(atof(XdrvMailbox.data));
break; break;
case CMND_PID_SETMAX_INTERVAL: case CMND_PID_SETMAX_INTERVAL:
snprintf_P(log_data, sizeof(log_data), "PID command set max interval"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command set max interval");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
max_interval = atoi(XdrvMailbox.data); max_interval = atoi(XdrvMailbox.data);
pid.setMaxInterval(max_interval); pid.setMaxInterval(max_interval);
break; break;
case CMND_PID_SETUPDATE_SECS: case CMND_PID_SETUPDATE_SECS:
snprintf_P(log_data, sizeof(log_data), "PID command set update secs"); snprintf_P(TasmotaGlobal.log_data, sizeof(TasmotaGlobal.log_data), "PID command set update secs");
AddLog(LOG_LEVEL_INFO); AddLog(LOG_LEVEL_INFO);
update_secs = atoi(XdrvMailbox.data) ; update_secs = atoi(XdrvMailbox.data) ;
if (update_secs < 0) update_secs = 0; if (update_secs < 0) update_secs = 0;
@ -322,7 +322,7 @@ boolean PID_Command()
if (serviced) { if (serviced) {
// set mqtt RESULT // set mqtt RESULT
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"%s\":\"%s\"}"), XdrvMailbox.topic, XdrvMailbox.data); snprintf_P(TasmotaGlobal.mqtt_data, sizeof(TasmotaGlobal.mqtt_data), PSTR("{\"%s\":\"%s\"}"), XdrvMailbox.topic, XdrvMailbox.data);
} }
} else { } else {
@ -336,7 +336,7 @@ static void run_pid()
double power = pid.tick(pid_current_time_secs); double power = pid.tick(pid_current_time_secs);
char buf[10]; char buf[10];
dtostrfd(power, 3, buf); dtostrfd(power, 3, buf);
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"%s\":\"%s\"}"), "power", buf); snprintf_P(TasmotaGlobal.mqtt_data, sizeof(TasmotaGlobal.mqtt_data), PSTR("{\"%s\":\"%s\"}"), "power", buf);
MqttPublishPrefixTopic_P(TELE, "PID", false); MqttPublishPrefixTopic_P(TELE, "PID", false);
#if defined PID_SHUTTER #if defined PID_SHUTTER