diff -r 4136193a0c22 -r 9eaaba49450f thermferm/rdconfig.c --- a/thermferm/rdconfig.c Thu Aug 07 21:19:30 2014 +0200 +++ b/thermferm/rdconfig.c Thu Aug 07 22:06:18 2014 +0200 @@ -389,6 +389,10 @@ syslog(LOG_NOTICE, "wrconfig: error at xmlTextWriterWriteFormatElement"); return 1; } + if ((rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "PROF_PAUSED", "%d", (unsigned int)tmp3->prof_paused)) < 0) { + syslog(LOG_NOTICE, "wrconfig: error at xmlTextWriterWriteFormatElement"); + return 1; + } if ((rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "PROF_STATE", "%s", PROFSTATE[tmp3->prof_state] )) < 0) { syslog(LOG_NOTICE, "wrconfig: error at xmlTextWriterWriteFormatElement"); return 1; @@ -683,7 +687,7 @@ unit->temp_set_max = 30.0; unit->idle_rangeH = 1.0; unit->idle_rangeL = -1.0; - unit->prof_started = (time_t)0; + unit->prof_started = unit->prof_paused = (time_t)0; unit->PID_err_old = unit->PID_I_err = 0.0; cur = cur->xmlChildrenNode; @@ -806,6 +810,12 @@ unit->prof_started = ival; xmlFree(key); } + if ((!xmlStrcmp(cur->name, (const xmlChar *)"PROF_PAUSED"))) { + key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); + if (sscanf((const char *)key, "%d", &ival) == 1) + unit->prof_paused = ival; + xmlFree(key); + } if ((!xmlStrcmp(cur->name, (const xmlChar *)"PROF_STATE"))) { key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); for (i = 0; i < 4; i++) {