diff -r 8b99ab77262b -r d810df0df36a thermferm/server.c --- a/thermferm/server.c Wed Oct 22 12:42:20 2014 +0200 +++ b/thermferm/server.c Sat Oct 25 21:08:47 2014 +0200 @@ -1447,7 +1447,7 @@ unit->name = xstrcpy(param); unit->air_address = unit->beer_address = unit->heater_address = unit->cooler_address = \ unit->fan_address = unit->door_address = unit->profile = NULL; - unit->volume = 0.0; + unit->volume = unit->prof_peak_abs = unit->prof_peak_rel = 0.0; unit->air_state = unit->beer_state = 1; unit->air_temperature = unit->beer_temperature = 20000; unit->beer_set = unit->fridge_set = 20.0; @@ -1458,7 +1458,7 @@ unit->temp_set_max = 30.0; unit->idle_rangeH = 1.0; unit->idle_rangeL = -1.0; - unit->prof_started = unit->prof_paused = (time_t)0; + unit->prof_started = unit->prof_paused = unit->prof_primary_done = (time_t)0; unit->prof_percent = 0; unit->PID_err_old = unit->PID_I_err = 0.0; @@ -1554,6 +1554,9 @@ srv_send((char *)"PROF_STATE,%s", PROFSTATE[unit->prof_state]); } srv_send((char *)"PROF_TARGET,%.3f", unit->prof_target); + srv_send((char *)"PROF_PEAK_ABS,%.3f", unit->prof_peak_abs); + srv_send((char *)"PROF_PEAK_REL,%.3f", unit->prof_peak_rel); + srv_send((char *)"PROF_PRIMARY_DONE,%d", (int)unit->prof_primary_done); srv_send((char *)"TEMP_SET_MIN,%.1f", unit->temp_set_min); srv_send((char *)"TEMP_SET_MAX,%.1f", unit->temp_set_max); srv_send((char *)"IDLE_RANGE_L,%.1f", unit->idle_rangeL); @@ -1827,7 +1830,8 @@ case PROFILE_RUN: if (unit->prof_state == PROFILE_OFF) { unit->prof_state = PROFILE_RUN; unit->prof_started = time(NULL); - unit->prof_paused = 0; + unit->prof_paused = unit->prof_primary_done = 0; + unit->prof_peak_abs = unit->prof_peak_rel = 0.0; syslog(LOG_NOTICE, "Fermenter unit %s profile to RUN", unit->uuid); } break;