   root["devid"] = g_devid;
 
   JsonArray& st = root.createNestedArray("status");
-  
+
+  st.add(g_on_off);
+  st.add(g_mode);
+  st.add(g_fan);
+  st.add(g_set_temp);
+  st.add(g_room_temp);
+
   g_body_len = root.printTo((char *)g_buf + HEADER_LEN, BUF_LEN - HEADER_LEN);
 
   send_msg();

  DDRB &= B11111110;

  pinMode(PIN_ON_OFF, OUTPUT);
  digitalWrite(PIN_ON_OFF, LOW);
  pinMode(PIN_MODE, OUTPUT);
  digitalWrite(PIN_MODE, LOW);
  pinMode(PIN_FAN, OUTPUT);
  digitalWrite(PIN_FAN, LOW);
  pinMode(PIN_ADD_TEMP, OUTPUT);
  digitalWrite(PIN_ADD_TEMP, LOW);
  pinMode(PIN_DEC_TEMP, OUTPUT);
  digitalWrite(PIN_DEC_TEMP, LOW);
}

void loop() {

    return;
  }

  Serial.println((const char *)root["cmd"]);

  if (strcmp(root["cmd"], "on_off") == 0) {
    digitalWrite(PIN_ON_OFF, LOW);
    delay(SIM_BTN_DELAY);
    digitalWrite(PIN_ON_OFF, HIGH);
  } else if (strcmp(root["cmd"], "mode") == 0) {
    digitalWrite(PIN_MODE, LOW);
    delay(SIM_BTN_DELAY);
    digitalWrite(PIN_MODE, HIGH);
  } else if (strcmp(root["cmd"], "fan") == 0) {
    digitalWrite(PIN_FAN, LOW);
    delay(SIM_BTN_DELAY);
    digitalWrite(PIN_FAN, HIGH);
  } else if (strcmp(root["cmd"], "inc") == 0) {
    digitalWrite(PIN_INC, LOW);
    delay(SIM_BTN_DELAY);
    digitalWrite(PIN_INC, HIGH);
  } else if (strcmp(root["cmd"], "dec") == 0) {
    digitalWrite(PIN_DEC, LOW);
    delay(SIM_BTN_DELAY);
    digitalWrite(PIN_DEC, HIGH);
  } else if (strcmp(root["cmd"], "get") == 0) {
    g_need_report = 1;
  }
}
