diff -r 362c4700937e -r 86496d2bc4bb thermferm/mqtt.c --- a/thermferm/mqtt.c Sat Jan 19 22:07:42 2019 +0100 +++ b/thermferm/mqtt.c Sun Jan 20 13:34:09 2019 +0100 @@ -223,6 +223,8 @@ syslog(LOG_NOTICE, "DCMD change fermenter %s: stage to %s", message_alias, UNITSTAGE[i]); unit->mqtt_flag |= MQTT_FLAG_DATA; unit->stage = i; + if ((unit->mode != UNITMODE_OFF) && ! unit->event_msg) + unit->event_msg = xstrcpy((char *)UNITSTAGE[i]); } break; } @@ -250,6 +252,8 @@ } syslog(LOG_NOTICE, "DCMD change fermenter %s: mode to %s", message_alias, UNITMODE[i]); unit->mode = i; + if ((unit->mode != UNITMODE_OFF) && ! unit->event_msg) + unit->event_msg = xstrcpy((char *)UNITMODE[i]); /* Allways turn everything off after a mode change */ unit->PID_cool->OutP = unit->PID_heat->OutP = 0.0; unit->PID_cool->Mode = unit->PID_heat->Mode = PID_MODE_NONE; @@ -395,6 +399,8 @@ unit->prof_peak_abs = unit->prof_peak_rel = 0.0; syslog(LOG_NOTICE, "DCMD change fermenter `%s' profile start RUN", message_alias); unit->mqtt_flag |= MQTT_FLAG_DATA; + if (! unit->event_msg) + unit->event_msg = xstrcpy((char *)"Profile start"); } } else if (! strcmp(cmd, (char *)"abort")) { if ((unit->prof_state == PROFILE_RUN) || (unit->prof_state == PROFILE_PAUSE)) { @@ -403,6 +409,8 @@ unit->prof_peak_abs = unit->prof_peak_rel = 0.0; syslog(LOG_NOTICE, "DCMD change fermenter `%s' profile ABORT", message_alias); unit->mqtt_flag |= MQTT_FLAG_DATA; + if (! unit->event_msg) + unit->event_msg = xstrcpy((char *)"Profile abort"); } } else if (! strcmp(cmd, (char *)"done")) { if (unit->prof_state == PROFILE_DONE) { @@ -547,7 +555,6 @@ if (unit->mqtt_flag & MQTT_FLAG_DEATH) { publishDDeath(unit); } - unit->mqtt_flag |= MQTT_FLAG_DLOG; // Something to log } } return;