205 fermenter->profile_steps = xstrcpy(row[42]); |
205 fermenter->profile_steps = xstrcpy(row[42]); |
206 } |
206 } |
207 fermenter->stage = xstrcpy(row[43]); |
207 fermenter->stage = xstrcpy(row[43]); |
208 fermenter->yeast_lo = atof(row[45]); |
208 fermenter->yeast_lo = atof(row[45]); |
209 fermenter->yeast_hi = atof(row[46]); |
209 fermenter->yeast_hi = atof(row[46]); |
|
210 fermenter->webcam_url = xstrcpy(row[47]); |
|
211 fermenter->webcam_light = atoi(row[48]); |
210 |
212 |
211 if (fermenters == NULL) { |
213 if (fermenters == NULL) { |
212 fermenters = fermenter; |
214 fermenters = fermenter; |
213 } else { |
215 } else { |
214 for (tmpf = fermenters; tmpf; tmpf = tmpf->next) { |
216 for (tmpf = fermenters; tmpf; tmpf = tmpf->next) { |
289 free(tmpf->profile_name); |
291 free(tmpf->profile_name); |
290 if (tmpf->profile_state) |
292 if (tmpf->profile_state) |
291 free(tmpf->profile_state); |
293 free(tmpf->profile_state); |
292 if (tmpf->profile_steps) |
294 if (tmpf->profile_steps) |
293 free(tmpf->profile_steps); |
295 free(tmpf->profile_steps); |
|
296 if (tmpf->webcam_url) |
|
297 free(tmpf->webcam_url); |
294 free(tmpf); |
298 free(tmpf); |
295 } |
299 } |
296 for (tmpn = nodes; tmpn; tmpn = oldtmpn) { |
300 for (tmpn = nodes; tmpn; tmpn = oldtmpn) { |
297 oldtmpn = tmpn->next; |
301 oldtmpn = tmpn->next; |
298 if (tmpn->uuid) |
302 if (tmpn->uuid) |
419 "door_address='%s', door_state='%d', " \ |
423 "door_address='%s', door_state='%d', " \ |
420 "psu_address='%s', psu_state='%d', " \ |
424 "psu_address='%s', psu_state='%d', " \ |
421 "mode='%s', alarm='%d', setpoint_high='%.3f', setpoint_low='%.3f', " \ |
425 "mode='%s', alarm='%d', setpoint_high='%.3f', setpoint_low='%.3f', " \ |
422 "profile_uuid='%s', profile_name='%s', profile_state='%s', profile_percent='%d', " \ |
426 "profile_uuid='%s', profile_name='%s', profile_state='%s', profile_percent='%d', " \ |
423 "profile_inittemp_high='%.3f', profile_inittemp_low='%.3f', profile_steps='%s', stage='%s', " \ |
427 "profile_inittemp_high='%.3f', profile_inittemp_low='%.3f', profile_steps='%s', stage='%s', " \ |
424 "yeast_lo='%.1f', yeast_hi='%.1f'", |
428 "yeast_lo='%.1f', yeast_hi='%.1f', webcam_url='%s', webcam_light='%d'", |
425 fermenter->uuid, fermenter->alias, fermenter->node, fermenter->online ? "Y":"N", |
429 fermenter->uuid, fermenter->alias, fermenter->node, fermenter->online ? "Y":"N", |
426 fermenter->beercode ? fermenter->beercode : "", fermenter->beername ? fermenter->beername : "", |
430 fermenter->beercode ? fermenter->beercode : "", fermenter->beername ? fermenter->beername : "", |
427 fermenter->beeruuid ? fermenter->beeruuid : "", |
431 fermenter->beeruuid ? fermenter->beeruuid : "", |
428 fermenter->air_address ? fermenter->air_address : "", fermenter->air_state ? fermenter->air_state : "", fermenter->air_temperature, |
432 fermenter->air_address ? fermenter->air_address : "", fermenter->air_state ? fermenter->air_state : "", fermenter->air_temperature, |
429 fermenter->beer_address ? fermenter->beer_address : "", fermenter->beer_state ? fermenter->beer_state : "", fermenter->beer_temperature, |
433 fermenter->beer_address ? fermenter->beer_address : "", fermenter->beer_state ? fermenter->beer_state : "", fermenter->beer_temperature, |
436 fermenter->psu_address ? fermenter->psu_address : "", fermenter->psu_state, |
440 fermenter->psu_address ? fermenter->psu_address : "", fermenter->psu_state, |
437 fermenter->mode, fermenter->alarm, fermenter->setpoint_high, fermenter->setpoint_low, |
441 fermenter->mode, fermenter->alarm, fermenter->setpoint_high, fermenter->setpoint_low, |
438 fermenter->profile_uuid ? fermenter->profile_uuid : "", fermenter->profile_name ? fermenter->profile_name : "", |
442 fermenter->profile_uuid ? fermenter->profile_uuid : "", fermenter->profile_name ? fermenter->profile_name : "", |
439 fermenter->profile_state ? fermenter->profile_state : "", fermenter->profile_percent, |
443 fermenter->profile_state ? fermenter->profile_state : "", fermenter->profile_percent, |
440 fermenter->profile_inittemp_high, fermenter->profile_inittemp_low, |
444 fermenter->profile_inittemp_high, fermenter->profile_inittemp_low, |
441 fermenter->profile_steps ? fermenter->profile_steps : "", fermenter->stage, fermenter->yeast_lo, fermenter->yeast_hi); |
445 fermenter->profile_steps ? fermenter->profile_steps : "", fermenter->stage, fermenter->yeast_lo, fermenter->yeast_hi, |
|
446 fermenter->webcam_url ? fermenter->webcam_url : "", fermenter->webcam_light); |
442 |
447 |
443 // printf("%s\n", query); |
448 // printf("%s\n", query); |
444 |
449 |
445 if (mysql_query(con, query)) { |
450 if (mysql_query(con, query)) { |
446 syslog(LOG_NOTICE, "MySQL: INSERT INTO mon_fermenters error %u (%s))", mysql_errno(con), mysql_error(con)); |
451 syslog(LOG_NOTICE, "MySQL: INSERT INTO mon_fermenters error %u (%s))", mysql_errno(con), mysql_error(con)); |
468 "door_address='%s', door_state='%d', " \ |
473 "door_address='%s', door_state='%d', " \ |
469 "psu_address='%s', psu_state='%d', " \ |
474 "psu_address='%s', psu_state='%d', " \ |
470 "mode='%s', alarm='%d', setpoint_high='%.3f', setpoint_low='%.3f', " \ |
475 "mode='%s', alarm='%d', setpoint_high='%.3f', setpoint_low='%.3f', " \ |
471 "profile_uuid='%s', profile_name='%s', profile_state='%s', profile_percent='%d', " \ |
476 "profile_uuid='%s', profile_name='%s', profile_state='%s', profile_percent='%d', " \ |
472 "profile_inittemp_high='%.3f', profile_inittemp_low='%.3f', profile_steps='%s', stage='%s', " \ |
477 "profile_inittemp_high='%.3f', profile_inittemp_low='%.3f', profile_steps='%s', stage='%s', " \ |
473 "yeast_lo='%.1f', yeast_hi='%.1f' WHERE uuid='%s'", |
478 "yeast_lo='%.1f', yeast_hi='%.1f', webcam_url='%s', webcam_light='%d' WHERE uuid='%s'", |
474 fermenter->online ? "Y":"N", fermenter->beercode ? fermenter->beercode : "", fermenter->beername ? fermenter->beername : "", |
479 fermenter->online ? "Y":"N", fermenter->beercode ? fermenter->beercode : "", fermenter->beername ? fermenter->beername : "", |
475 fermenter->beeruuid ? fermenter->beeruuid : "", |
480 fermenter->beeruuid ? fermenter->beeruuid : "", |
476 fermenter->air_address ? fermenter->air_address : "", fermenter->air_state ? fermenter->air_state : "", fermenter->air_temperature, |
481 fermenter->air_address ? fermenter->air_address : "", fermenter->air_state ? fermenter->air_state : "", fermenter->air_temperature, |
477 fermenter->beer_address ? fermenter->beer_address : "", fermenter->beer_state ? fermenter->beer_state : "", fermenter->beer_temperature, |
482 fermenter->beer_address ? fermenter->beer_address : "", fermenter->beer_state ? fermenter->beer_state : "", fermenter->beer_temperature, |
478 fermenter->chiller_address ? fermenter->chiller_address : "", fermenter->chiller_state ? fermenter->chiller_state : "", fermenter->chiller_temperature, |
483 fermenter->chiller_address ? fermenter->chiller_address : "", fermenter->chiller_state ? fermenter->chiller_state : "", fermenter->chiller_temperature, |
484 fermenter->psu_address ? fermenter->psu_address : "", fermenter->psu_state, |
489 fermenter->psu_address ? fermenter->psu_address : "", fermenter->psu_state, |
485 fermenter->mode, fermenter->alarm, fermenter->setpoint_high, fermenter->setpoint_low, |
490 fermenter->mode, fermenter->alarm, fermenter->setpoint_high, fermenter->setpoint_low, |
486 fermenter->profile_uuid ? fermenter->profile_uuid : "", fermenter->profile_name ? fermenter->profile_name : "", |
491 fermenter->profile_uuid ? fermenter->profile_uuid : "", fermenter->profile_name ? fermenter->profile_name : "", |
487 fermenter->profile_state ? fermenter->profile_state : "", fermenter->profile_percent, |
492 fermenter->profile_state ? fermenter->profile_state : "", fermenter->profile_percent, |
488 fermenter->profile_inittemp_high, fermenter->profile_inittemp_low, |
493 fermenter->profile_inittemp_high, fermenter->profile_inittemp_low, |
489 fermenter->profile_steps ? fermenter->profile_steps : "", fermenter->stage, fermenter->yeast_lo, fermenter->yeast_hi, fermenter->uuid); |
494 fermenter->profile_steps ? fermenter->profile_steps : "", fermenter->stage, fermenter->yeast_lo, fermenter->yeast_hi, |
|
495 fermenter->webcam_url ? fermenter->webcam_url : "", fermenter->webcam_light, fermenter->uuid); |
490 |
496 |
491 // printf("%s\n", query); |
497 // printf("%s\n", query); |
492 |
498 |
493 if (mysql_query(con, query)) { |
499 if (mysql_query(con, query)) { |
494 syslog(LOG_NOTICE, "MySQL: UPDATE mon_fermenters error %u (%s))", mysql_errno(con), mysql_error(con)); |
500 syslog(LOG_NOTICE, "MySQL: UPDATE mon_fermenters error %u (%s))", mysql_errno(con), mysql_error(con)); |