 byte modbusBuf[MODBUS_BUF_LEN] = { 
   0x00,       // Slave address
   0x03,       // Function code
-  0x14,       // Byte count (20)
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // register values
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // register values
+  0x1C,       // Byte count (28)
+  0x00, 0x00, 0x00, 0x00, // Register values
+  0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x00, 
   0x00, 0x00  // CRC
 };
 

#ifdef DEBUG
unsigned long time;
#endif

// Initialize DHT sensor
void initDHT() {

  delay(500);
#endif

  readBMP(); // around 3 ms
  communicate();
  readDHT(); // around 50 ms
  communicate();
  readDS(0); // around 700 ms
  communicate();
  readDS(1); // around 700 ms
  communicate();
  readDS(2); // around 700 ms
  communicate();
}
