Index: trunk/FACT++/src/fscctrl.cc
===================================================================
--- trunk/FACT++/src/fscctrl.cc	(revision 17185)
+++ trunk/FACT++/src/fscctrl.cc	(revision 17186)
@@ -551,8 +551,8 @@
         }
 
-        UpdateHum( time, humidities);
         UpdateTemp(time, temperatures);
         UpdateVolt(time, voltages);
         UpdateCur( time, currents);
+        UpdateHum( time, humidities);
 
         StartRead();
@@ -697,5 +697,5 @@
         rms /= T.size();
         rms -= avg*avg;
-        rms = rms<0 ? 0 : sqrt(rms - avg*avg);
+        rms = rms<0 ? 0 : sqrt(rms);
 
         // Clean broken reports
@@ -725,6 +725,25 @@
         T = inter.Interpolate(T);
 
+        avg = 0;
+        rms = 0;
+        for (int i=0; i<320; i++)
+        {
+            avg += T[i];
+            rms += T[i]*T[i];
+        }
+
+        avg /= 320;
+        rms /= 320;
+        rms -= avg*avg;
+        rms = rms<0 ? 0 : sqrt(rms);
+
+        vector<float> out;
+        out.reserve(322);
+        out.assign(T.cbegin(), T.cend());
+        out.emplace_back(avg);
+        out.emplace_back(rms);
+
         // Update the Dim service with the interpolated positions
-        Update(fDimTemp2, vector<float>(T.cbegin(), T.cend()), time);
+        Update(fDimTemp2, out, time);
     }
 
@@ -755,7 +774,9 @@
                     "|T_back[deg C]:FTM backpanel temperatures FTM (top/bottom), FSC (top/bottom)"
                     "|T_eth[deg C]:Ethernet switches temperatures top (front/back), bottom (f/b)"),
-        fDimTemp2  ("FSC_CONTROL/BIAS_TEMP", "F:1;F:320",
+        fDimTemp2  ("FSC_CONTROL/BIAS_TEMP", "F:1;F:320;F:1;F:1",
                     "|t[s]:FSC uptime"
-                    "|T[deg C]:Interpolated temperatures at bias patch positions"),
+                    "|T[deg C]:Interpolated temperatures at bias patch positions"
+                    "|T_avg[deg C]:Average temperature calculated from all patches"
+                    "|T_rms[deg C]:Temperature RMS calculated from all patches"),
         fDimHum    ("FSC_CONTROL/HUMIDITY", "F:1;F:4",
                     "|t[s]:FSC uptime"
@@ -926,5 +947,5 @@
         fFSC.SetVerbose(!conf.Get<bool>("quiet"));
 
-        const string fname1 = conf.Get<string>("sesnor-pos-file");
+        const string fname1 = conf.Get<string>("sensor-pos-file");
         const auto v1 = ReadVector(fname1);
         if (v1.size() != 31)
