   return bus.getTempC(deviceAddress);
 }
 
-// // function to print a device's resolution
-// void printResolution(DeviceAddress deviceAddress)
-// {
-//   Serial.print("Resolution: ");
-//   Serial.print(sensors.getResolution(deviceAddress));
-//   Serial.println();    
-// }
-
-// // main function to print information about a device
-// void printData(DeviceAddress deviceAddress)
-// {
-//   Serial.print("Device Address: ");
-//   printAddress(deviceAddress);
-//   Serial.print(" ");
-//   printTemperature(deviceAddress);
-//   Serial.println();
-// }
+void tempSensorsLoop() {
+  if(millis() - last_temp_read > TEMP_PUBLISH_DELAY) {
+    room_temp.requestTemperatures();
+    outside_temp.requestTemperatures();
+
+    publishTempSensors();
+
+    last_temp_read = millis();
+  }
+}
 
 
 /* #################  Ethernet                                                */

void publishTemp(int16_t temp_index) {
  aSerial.l(Level::vvvv).p("publishTemp: ");

  char topic_plus_sensor_name[ strlen(MQTT_TEMP_TOPIC "XX") ] = "";
  char float_to_char_buffer[TEMP_MAX_FLOAT_LENGTH] = ""; // eg 25.9

  TempSensor t_sensor = temp_sensors[temp_index];

void setup(void) {
  Serial.begin(9600);
  aSerial.setPrinter(Serial);
  aSerial.setFilter(Level::vvv);

  aSerial.l(Level::v).pln("Setup ...");

