Index: trunk/FACT++/src/smartfact.cc
===================================================================
--- trunk/FACT++/src/smartfact.cc	(revision 19555)
+++ trunk/FACT++/src/smartfact.cc	(revision 19556)
@@ -1064,4 +1064,28 @@
 
         ofstream(fPath+"/tngdust.data") << out.str();
+
+        return GetCurrentState();
+    }
+
+    int HandleTngWeatherData(const EventImp &d)
+    {
+        if (!CheckDataSize(d, "TngWeather:Data", sizeof(TNGWeather::DimWeather)))
+            return GetCurrentState();
+
+        const auto &data = d.Ref<TNGWeather::DimWeather>();
+
+        ostringstream out;
+        out << d.GetJavaDate() << '\n';
+        out << HTML::kWhite << '\t' << data.fTemperature << '\n';
+        out << HTML::kWhite << '\t' << data.fTempTrend << '\n';
+        out << HTML::kWhite << '\t' << data.fDewPoint << '\n';
+        out << HTML::kWhite << '\t' << data.fHumidity << '\n';
+        out << HTML::kWhite << '\t' << data.fAirPressure << '\n';
+        out << HTML::kWhite << '\t' << data.fWindSpeed << '\n';
+        out << HTML::kWhite << '\t' << data.fWindDirection << '\n';
+        out << HTML::kWhite << '\t' << data.fDustTotal << '\n';
+        out << HTML::kWhite << '\t' << data.fSolarimeter << '\n';
+
+        ofstream(fPath+"/tngdata.data") << out.str();
 
         return GetCurrentState();
@@ -3415,4 +3439,6 @@
         Subscribe("TNG_WEATHER/DUST")
             (bind(&StateMachineSmartFACT::HandleTngWeatherDust,      this, placeholders::_1));
+        Subscribe("TNG_WEATHER/DATA")
+            (bind(&StateMachineSmartFACT::HandleTngWeatherData,      this, placeholders::_1));
         Subscribe("RAIN_SENSOR/DATA")
             (bind(&StateMachineSmartFACT::HandleRainSensorData,      this, placeholders::_1));
