thermferm/server.c

changeset 702
d77891f8915d
parent 699
35382668a140
child 703
344470c6bb1c
equal deleted inserted replaced
701:e50a5003c7ac 702:d77891f8915d
1530 unit->psu_address = unit->profile_uuid = unit->profile_name = NULL; 1530 unit->psu_address = unit->profile_uuid = unit->profile_name = NULL;
1531 unit->air_idx = unit->beer_idx = unit->chiller_idx = unit->heater_idx = unit->cooler_idx = unit->fan_idx = \ 1531 unit->air_idx = unit->beer_idx = unit->chiller_idx = unit->heater_idx = unit->cooler_idx = unit->fan_idx = \
1532 unit->door_idx = unit->light_idx = unit->psu_idx = unit->profile_fridge_mode = \ 1532 unit->door_idx = unit->light_idx = unit->psu_idx = unit->profile_fridge_mode = \
1533 unit->profile_duration = unit->profile_totalsteps = 0; 1533 unit->profile_duration = unit->profile_totalsteps = 0;
1534 unit->profile_steps = NULL; 1534 unit->profile_steps = NULL;
1535 unit->volume = unit->prof_peak_abs = unit->prof_peak_rel = 0.0; 1535 unit->prof_peak_abs = unit->prof_peak_rel = 0.0;
1536 unit->air_state = unit->beer_state = unit->chiller_state = DEVPRESENT_NO; 1536 unit->air_state = unit->beer_state = unit->chiller_state = DEVPRESENT_NO;
1537 unit->air_temperature = unit->beer_temperature = unit->chiller_temperature = 20000; 1537 unit->air_temperature = unit->beer_temperature = unit->chiller_temperature = 20000;
1538 unit->beer_set_lo = unit->beer_set_hi = unit->fridge_set_lo = unit->fridge_set_hi = unit->profile_inittemp_lo = unit->profile_inittemp_hi =20.0; 1538 unit->beer_set_lo = unit->beer_set_hi = unit->fridge_set_lo = unit->fridge_set_hi = unit->profile_inittemp_lo = unit->profile_inittemp_hi =20.0;
1539 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->mode = \ 1539 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->mode = \
1540 unit->light_state = unit->light_timer = unit->psu_state = unit->prof_state = unit->stage = 0; 1540 unit->light_state = unit->light_timer = unit->psu_state = unit->prof_state = unit->stage = 0;
1612 srv_send(s, (char *)"ALIAS,%s", unit->alias); 1612 srv_send(s, (char *)"ALIAS,%s", unit->alias);
1613 srv_send(s, (char *)"PRODUCT_NAME,%s", unit->product_name); 1613 srv_send(s, (char *)"PRODUCT_NAME,%s", unit->product_name);
1614 srv_send(s, (char *)"PRODUCT_CODE,%s", unit->product_code); 1614 srv_send(s, (char *)"PRODUCT_CODE,%s", unit->product_code);
1615 srv_send(s, (char *)"MODE,%s", UNITMODE[unit->mode]); 1615 srv_send(s, (char *)"MODE,%s", UNITMODE[unit->mode]);
1616 srv_send(s, (char *)"STAGE,%s", UNITSTAGE[unit->stage]); 1616 srv_send(s, (char *)"STAGE,%s", UNITSTAGE[unit->stage]);
1617 srv_send(s, (char *)"VOLUME,%2f", unit->volume);
1618 srv_send(s, (char *)"AIR_ADDRESS,%s", unit->air_address); 1617 srv_send(s, (char *)"AIR_ADDRESS,%s", unit->air_address);
1619 srv_send(s, (char *)"AIR_STATE,%s", DEVPRESENT[unit->air_state]); 1618 srv_send(s, (char *)"AIR_STATE,%s", DEVPRESENT[unit->air_state]);
1620 srv_send(s, (char *)"AIR_TEMPERATURE,%.3f", unit->air_temperature / 1000.0); 1619 srv_send(s, (char *)"AIR_TEMPERATURE,%.3f", unit->air_temperature / 1000.0);
1621 srv_send(s, (char *)"AIR_IDX,%d", unit->air_idx); 1620 srv_send(s, (char *)"AIR_IDX,%d", unit->air_idx);
1622 srv_send(s, (char *)"BEER_ADDRESS,%s", MBSE_SS(unit->beer_address)); 1621 srv_send(s, (char *)"BEER_ADDRESS,%s", MBSE_SS(unit->beer_address));
1759 free(unit->product_name); 1758 free(unit->product_name);
1760 } 1759 }
1761 unit->product_name = xstrcpy(val); 1760 unit->product_name = xstrcpy(val);
1762 unit->mqtt_flag |= MQTT_FLAG_DATA; 1761 unit->mqtt_flag |= MQTT_FLAG_DATA;
1763 1762
1764 } else if (val && (strcmp(kwd, (char *)"VOLUME") == 0)) {
1765 if (sscanf(val, "%f", &fval) == 1) {
1766 if (unit->volume != fval)
1767 syslog(LOG_NOTICE, "Fermenter unit %s volume %.3f to %.3f", unit->uuid, unit->volume, fval);
1768 unit->volume = fval;
1769 }
1770
1771 } else if (strcmp(kwd, (char *)"AIR_ADDRESS") == 0) { 1763 } else if (strcmp(kwd, (char *)"AIR_ADDRESS") == 0) {
1772 if (val && unit->air_address && (strcmp(val, unit->air_address))) 1764 if (val && unit->air_address && (strcmp(val, unit->air_address)))
1773 syslog(LOG_NOTICE, "Fermenter unit %s air address `%s' to `%s'", unit->uuid, unit->air_address, val); 1765 syslog(LOG_NOTICE, "Fermenter unit %s air address `%s' to `%s'", unit->uuid, unit->air_address, val);
1774 if (unit->air_address) { 1766 if (unit->air_address) {
1775 device_count(FALSE, unit->air_address); 1767 device_count(FALSE, unit->air_address);

mercurial