diff -r 003c20125212 -r 862de87f9f89 thermferm/server.c --- a/thermferm/server.c Thu May 12 21:43:07 2016 +0200 +++ b/thermferm/server.c Sat Apr 29 17:07:36 2017 +0200 @@ -2394,10 +2394,16 @@ } if (unit->heater_address) mqtt_publish_int(unit->alias, (char *)"heater", 0); + else + mqtt_publish_clear(unit->alias, (char *)"heater"); if (unit->cooler_address) mqtt_publish_int(unit->alias, (char *)"cooler", 0); + else + mqtt_publish_clear(unit->alias, (char *)"cooler"); if (unit->fan_address) mqtt_publish_int(unit->alias, (char *)"fan", 0); + else + mqtt_publish_clear(unit->alias, (char *)"fan"); break; } } @@ -2515,10 +2521,16 @@ device_out(unit->light_address, unit->light_state); if (unit->heater_address) mqtt_publish_int(unit->alias, (char *)"heater", 0); + else + mqtt_publish_clear(unit->alias, (char *)"heater"); if (unit->cooler_address) mqtt_publish_int(unit->alias, (char *)"cooler", 0); + else + mqtt_publish_clear(unit->alias, (char *)"cooler"); if (unit->fan_address) mqtt_publish_int(unit->alias, (char *)"fan", 0); + else + mqtt_publish_clear(unit->alias, (char *)"fan"); unit->mqtt_flag |= (MQTT_FLAG_PROFILE | MQTT_FLAG_SP); }