   pinMode(PINO_SENSOR_TEMP, INPUT);
   pinMode(PINO_LED_AR, OUTPUT);
   dht.begin();
-}
-
-int ler_temperatura() {
+
+//  MsTimer2::set(1000, ler_temperatura);
+}
+
+void ler_temperatura() {
   float temperatura = dht.readTemperature();
   // testa se retorno é valido, caso contrário algo está errado.
   if (isnan(temperatura)) {

//Define os pinos para o trigger e echo
#define PINO_TRIGGER 8
#define PINO_ECHO 9
#define PINO_LED_OCUPACAO 12
// Distância que define se a garagem está ocupada
#define DISTANCIA_OCUPADA 10
#define TP_GARAGEM_STATUS "casa/garagem/status"

int status_garagem = LOW;


void setup_garagem() {
  pinMode(PINO_LED_OCUPACAO, OUTPUT);

  MsTimer2::set(TEMPO_NOVA_LEITURA_GARAGEM, medir_distancia);
}

float medir_distancia() {
  volatile long tempo = ultrasonic.timing();
  volatile int distancia = ultrasonic.convert(tempo, Ultrasonic::CM);

  if (distancia <= DISTANCIA_OCUPADA) {
    informar_ocupacao(HIGH);
