thermferm/server.c

changeset 246
6df404da3537
parent 245
b01b6238eb67
child 249
1ce52a38080e
equal deleted inserted replaced
245:b01b6238eb67 246:6df404da3537
1286 break; 1286 break;
1287 } 1287 }
1288 } 1288 }
1289 1289
1290 } else if (val && (strcmp(kwd, (char *)"FRIDGE_SET") == 0)) { 1290 } else if (val && (strcmp(kwd, (char *)"FRIDGE_SET") == 0)) {
1291 if (sscanf(val, "%f", &fval) == 1) 1291 if ((sscanf(val, "%f", &fval) == 1) && (fval >= unit->temp_set_min) && (fval <= unit->temp_set_max)) {
1292 syslog(LOG_NOTICE, "Fridge temperature from %.1f to %.1f via web interface", unit->fridge_set, fval);
1292 unit->fridge_set = fval; 1293 unit->fridge_set = fval;
1294 }
1293 1295
1294 } else if (val && (strcmp(kwd, (char *)"BEER_SET") == 0)) { 1296 } else if (val && (strcmp(kwd, (char *)"BEER_SET") == 0)) {
1295 if (sscanf(val, "%f", &fval) == 1) 1297 if ((sscanf(val, "%f", &fval) == 1) && (fval >= unit->temp_set_min) && (fval <= unit->temp_set_max)) {
1298 syslog(LOG_NOTICE, "Beer temperature from %.1f to %.1f via web interface", unit->beer_set, fval);
1296 unit->beer_set = fval; 1299 unit->beer_set = fval;
1300 }
1297 1301
1298 } else if (strcmp(kwd, (char *)"PROFILE") == 0) { 1302 } else if (strcmp(kwd, (char *)"PROFILE") == 0) {
1299 if (unit->prof_state == PROFILE_OFF) { 1303 if (unit->prof_state == PROFILE_OFF) {
1300 /* 1304 /*
1301 * Only change profile if it is not active, else drop this one. 1305 * Only change profile if it is not active, else drop this one.

mercurial