Код: Выделить всё
int temp1 = (current_temp1 - (int)current_temp1) * 100;
sprintf(buf, "GET /objects/?object=sensorKotel&op=m&m=tempChanged&t=%0d.%d HTTP/1.0", (int)current_temp1, abs(temp1));
во-первых теряется «минус» между значениями -1 и 0. Значение -0,5 превращается в 0,5. И этот диапазон показывается температуру на луне.
во-вторых некорректно переводятся сотые доли. Значение 0,06 передаётся как 0,6. На улице 0, а показывает почти 1 градус.