1069 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->light_state = 0; |
1069 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->light_state = 0; |
1070 unit->heater_wait = unit->cooler_wait = unit->fan_wait = unit->light_wait = 0; |
1070 unit->heater_wait = unit->cooler_wait = unit->fan_wait = unit->light_wait = 0; |
1071 mqtt_publish_int(unit->alias, (char *)"state", (unit->mode != UNITMODE_OFF) ? 1 : 0); |
1071 mqtt_publish_int(unit->alias, (char *)"state", (unit->mode != UNITMODE_OFF) ? 1 : 0); |
1072 if (unit->name) |
1072 if (unit->name) |
1073 mqtt_publish_str(unit->alias, (char *)"name", unit->name); |
1073 mqtt_publish_str(unit->alias, (char *)"name", unit->name); |
|
1074 else |
|
1075 mqtt_publish_clear(unit->alias, (char *)"name"); |
1074 if (unit->heater_address) |
1076 if (unit->heater_address) |
1075 mqtt_publish_int(unit->alias, (char *)"heater", 0); |
1077 mqtt_publish_int(unit->alias, (char *)"heater", 0); |
|
1078 else |
|
1079 mqtt_publish_clear(unit->alias, (char *)"heater"); |
1076 if (unit->cooler_address) |
1080 if (unit->cooler_address) |
1077 mqtt_publish_int(unit->alias, (char *)"cooler", 0); |
1081 mqtt_publish_int(unit->alias, (char *)"cooler", 0); |
|
1082 else |
|
1083 mqtt_publish_clear(unit->alias, (char *)"cooler"); |
1078 if (unit->fan_address) |
1084 if (unit->fan_address) |
1079 mqtt_publish_int(unit->alias, (char *)"fan", 0); |
1085 mqtt_publish_int(unit->alias, (char *)"fan", 0); |
|
1086 else |
|
1087 mqtt_publish_clear(unit->alias, (char *)"fan"); |
1080 if (unit->air_address) |
1088 if (unit->air_address) |
1081 unit->mqtt_flag |= MQTT_FLAG_AIR; |
1089 unit->mqtt_flag |= MQTT_FLAG_AIR; |
1082 if (unit->beer_address) |
1090 if (unit->beer_address) |
1083 unit->mqtt_flag |= MQTT_FLAG_BEER; |
1091 unit->mqtt_flag |= MQTT_FLAG_BEER; |
1084 if (unit->mode == UNITMODE_PROFILE) { |
1092 if (unit->mode == UNITMODE_PROFILE) { |
1940 * Stop units processing in a neat way |
1948 * Stop units processing in a neat way |
1941 */ |
1949 */ |
1942 for (unit = Config.units; unit; unit = unit->next) { |
1950 for (unit = Config.units; unit; unit = unit->next) { |
1943 |
1951 |
1944 if (unit->mode != UNITMODE_OFF) { |
1952 if (unit->mode != UNITMODE_OFF) { |
1945 if (unit->heater_address) |
1953 if (unit->heater_address) { |
1946 mqtt_publish_int(unit->alias, (char *)"heater", 0); |
1954 mqtt_publish_int(unit->alias, (char *)"heater", 0); |
1947 if (unit->cooler_address) |
1955 mqtt_publish_clear(unit->alias, (char *)"heater"); |
|
1956 } |
|
1957 if (unit->cooler_address) { |
1948 mqtt_publish_int(unit->alias, (char *)"cooler", 0); |
1958 mqtt_publish_int(unit->alias, (char *)"cooler", 0); |
1949 if (unit->fan_address) |
1959 mqtt_publish_clear(unit->alias, (char *)"cooler"); |
|
1960 } |
|
1961 if (unit->fan_address) { |
1950 mqtt_publish_int(unit->alias, (char *)"fan", 0); |
1962 mqtt_publish_int(unit->alias, (char *)"fan", 0); |
|
1963 mqtt_publish_clear(unit->alias, (char *)"fan"); |
|
1964 } |
1951 mqtt_publish_int(unit->alias, (char *)"state", 0); |
1965 mqtt_publish_int(unit->alias, (char *)"state", 0); |
|
1966 mqtt_publish_clear(unit->alias, (char *)"state"); |
1952 } |
1967 } |
|
1968 mqtt_publish_clear(unit->alias, (char *)"air/temperature"); |
|
1969 mqtt_publish_clear(unit->alias, (char *)"air"); |
|
1970 mqtt_publish_clear(unit->alias, (char *)"beer/temperature"); |
|
1971 mqtt_publish_clear(unit->alias, (char *)"beer"); |
|
1972 mqtt_publish_clear(unit->alias, (char *)"setpoint/high"); |
|
1973 mqtt_publish_clear(unit->alias, (char *)"setpoint/low"); |
|
1974 mqtt_publish_clear(unit->alias, (char *)"setpoint"); |
|
1975 mqtt_publish_clear(unit->alias, (char *)"door"); |
|
1976 mqtt_publish_clear(unit->alias, (char *)"name"); |
|
1977 mqtt_publish_clear(unit->alias, (char *)"mode"); |
|
1978 mqtt_publish_clear(unit->alias, (char *)"12volt"); |
|
1979 mqtt_publish_clear(unit->alias, (char *)"profile/uuid"); |
|
1980 mqtt_publish_clear(unit->alias, (char *)"profile/state"); |
|
1981 mqtt_publish_clear(unit->alias, (char *)"profile/name"); |
|
1982 mqtt_publish_clear(unit->alias, (char *)"profile/fridgemode"); |
|
1983 mqtt_publish_clear(unit->alias, (char *)"profile/percent"); |
1953 |
1984 |
1954 /* |
1985 /* |
1955 * Turn everything off |
1986 * Turn everything off |
1956 */ |
1987 */ |
1957 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->light_state = 0; |
1988 unit->heater_state = unit->cooler_state = unit->fan_state = unit->door_state = unit->light_state = 0; |