34 extern int debug; |
34 extern int debug; |
35 extern int run_pause; |
35 extern int run_pause; |
36 extern int run_hold; |
36 extern int run_hold; |
37 extern sys_config Config; |
37 extern sys_config Config; |
38 extern const char UNITMODE[5][8]; |
38 extern const char UNITMODE[5][8]; |
|
39 extern const char UNITSTAGE[3][10]; |
39 extern const char TEMPSTATE[3][8]; |
40 extern const char TEMPSTATE[3][8]; |
40 extern const char DEVTYPE[8][6]; |
41 extern const char DEVTYPE[8][6]; |
41 extern const char DEVPRESENT[4][6]; |
42 extern const char DEVPRESENT[4][6]; |
42 extern const char DEVDIR[7][11]; |
43 extern const char DEVDIR[7][11]; |
43 extern const char PROFSTATE[5][6]; |
44 extern const char PROFSTATE[5][6]; |
1983 unit->volume = unit->prof_peak_abs = unit->prof_peak_rel = 0.0; |
1984 unit->volume = unit->prof_peak_abs = unit->prof_peak_rel = 0.0; |
1984 unit->air_state = unit->beer_state = unit->chiller_state = 1; |
1985 unit->air_state = unit->beer_state = unit->chiller_state = 1; |
1985 unit->air_temperature = unit->beer_temperature = unit->chiller_temperature = 20000; |
1986 unit->air_temperature = unit->beer_temperature = unit->chiller_temperature = 20000; |
1986 unit->beer_set = unit->fridge_set = 20.0; |
1987 unit->beer_set = unit->fridge_set = 20.0; |
1987 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->mode = \ |
1988 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->mode = \ |
1988 unit->light_state = unit->psu_state = unit->prof_state = 0; |
1989 unit->light_state = unit->psu_state = unit->prof_state = unit->stage = 0; |
1989 unit->heater_delay = unit->cooler_delay = unit->fan_delay = 20; /* 5 minutes delay */ |
1990 unit->heater_delay = unit->cooler_delay = unit->fan_delay = 20; /* 5 minutes delay */ |
1990 unit->light_delay = 1; /* 15 seconds delay */ |
1991 unit->light_delay = 1; /* 15 seconds delay */ |
1991 unit->heater_wait = unit->cooler_wait = unit->fan_wait = unit->light_wait = 0; |
1992 unit->heater_wait = unit->cooler_wait = unit->fan_wait = unit->light_wait = 0; |
1992 unit->heater_usage = unit->cooler_usage = unit->fan_usage = unit->light_usage = 0; |
1993 unit->heater_usage = unit->cooler_usage = unit->fan_usage = unit->light_usage = 0; |
1993 unit->temp_set_min = 1.0; |
1994 unit->temp_set_min = 1.0; |
2059 srv_send((char *)"UUID,%s", unit->uuid); |
2060 srv_send((char *)"UUID,%s", unit->uuid); |
2060 srv_send((char *)"ALIAS,%s", unit->alias); |
2061 srv_send((char *)"ALIAS,%s", unit->alias); |
2061 srv_send((char *)"PRODUCT_NAME,%s", unit->product_name); |
2062 srv_send((char *)"PRODUCT_NAME,%s", unit->product_name); |
2062 srv_send((char *)"PRODUCT_CODE,%s", unit->product_code); |
2063 srv_send((char *)"PRODUCT_CODE,%s", unit->product_code); |
2063 srv_send((char *)"MODE,%s", UNITMODE[unit->mode]); |
2064 srv_send((char *)"MODE,%s", UNITMODE[unit->mode]); |
|
2065 srv_send((char *)"STAGE,%s", UNITSTAGE[unit->stage]); |
2064 srv_send((char *)"VOLUME,%2f", unit->volume); |
2066 srv_send((char *)"VOLUME,%2f", unit->volume); |
2065 srv_send((char *)"AIR_ADDRESS,%s", unit->air_address); |
2067 srv_send((char *)"AIR_ADDRESS,%s", unit->air_address); |
2066 srv_send((char *)"AIR_STATE,%s", TEMPSTATE[unit->air_state]); |
2068 srv_send((char *)"AIR_STATE,%s", TEMPSTATE[unit->air_state]); |
2067 srv_send((char *)"AIR_TEMPERATURE,%.3f", unit->air_temperature / 1000.0); |
2069 srv_send((char *)"AIR_TEMPERATURE,%.3f", unit->air_temperature / 1000.0); |
2068 srv_send((char *)"AIR_IDX,%d", unit->air_idx); |
2070 srv_send((char *)"AIR_IDX,%d", unit->air_idx); |
2450 if (unit->psu_idx != ival) |
2452 if (unit->psu_idx != ival) |
2451 syslog(LOG_NOTICE, "Fermenter unit %s psu idx %d to %d", unit->uuid, unit->psu_idx, ival); |
2453 syslog(LOG_NOTICE, "Fermenter unit %s psu idx %d to %d", unit->uuid, unit->psu_idx, ival); |
2452 unit->psu_idx = ival; |
2454 unit->psu_idx = ival; |
2453 } |
2455 } |
2454 |
2456 |
|
2457 } else if (val && (strcmp(kwd, (char *)"STAGE") == 0)) { |
|
2458 for (i = 0; i < 3; i++) { |
|
2459 if (strcmp(val, UNITSTAGE[i]) == 0) { |
|
2460 if (i != unit->stage) { |
|
2461 syslog(LOG_NOTICE, "Fermenter unit %s stage %s to %s", unit->uuid, UNITSTAGE[unit->stage], UNITSTAGE[i]); |
|
2462 unit->mqtt_flag |= MQTT_FLAG_DATA; |
|
2463 } |
|
2464 unit->stage = i; |
|
2465 break; |
|
2466 } |
|
2467 } |
|
2468 |
2455 } else if (val && (strcmp(kwd, (char *)"MODE") == 0)) { |
2469 } else if (val && (strcmp(kwd, (char *)"MODE") == 0)) { |
2456 for (i = 0; i < 5; i++) { |
2470 for (i = 0; i < 5; i++) { |
2457 if (strcmp(val, UNITMODE[i]) == 0) { |
2471 if (strcmp(val, UNITMODE[i]) == 0) { |
2458 unit->mqtt_flag |= MQTT_FLAG_DATA; |
2472 unit->mqtt_flag |= MQTT_FLAG_DATA; |
2459 /* Initialize log if the unit is turned on */ |
2473 /* Initialize log if the unit is turned on */ |