Index: mainserver.cpp
===================================================================
--- mainserver.cpp	(revision 8643)
+++ mainserver.cpp	(working copy)
@@ -3856,6 +3856,7 @@
     QDomElement mInfo   = pDoc->createElement("MachineInfo");
     QDomElement storage = pDoc->createElement("Storage"    );
     QDomElement load    = pDoc->createElement("Load"       );
+    QDomElement thermal = pDoc->createElement("Thermal"    );
     QDomElement guide   = pDoc->createElement("Guide"      );
 
     root.appendChild (mInfo  );
@@ -3884,6 +3885,21 @@
         load.setAttribute("avg3", rgdAverages[2]);
     }
 
+    // ACPI temperature -----------------
+    ifstream inp("/proc/acpi/thermal_zone/THRM/temperature");
+    std::string msg, temperature;
+
+    if(inp) {
+        inp >> msg >> temperature;
+        if(inp) {
+            temperature += " degrees Celsius";
+
+            // only add element if temperature could be read
+            mInfo.appendChild(thermal);
+            thermal.setAttribute("temperature", temperature);
+        }
+    }
+	
     // Guide Data ---------------------
 
     QDateTime GuideDataThrough;
Index: httpstatus.cpp
===================================================================
--- httpstatus.cpp	(revision 8643)
+++ httpstatus.cpp	(working copy)
@@ -697,6 +697,24 @@
         }
     }
 
+   // ACPI temperature ------------------
+
+    node = info.namedItem( "Thermal" );
+
+    if (!node.isNull())
+    {
+        QDomElement e = node.toElement();
+
+        if (!e.isNull())
+        {
+            std::string temperature = e.attribute( "temperature" , "0" );
+
+            os << "      Current CPU temperature: "
+               << temperature
+               << ".<br />\r\n";
+        }
+    }
+	
     // Guide Info ---------------------
 
     node = info.namedItem( "Guide" );
