thermferm/mqtt.c

changeset 575
86496d2bc4bb
parent 571
6f8eda55ec2c
child 577
7a29f835e20a
--- 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;

mercurial