diff --git a/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py b/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py
index f684b81c2d4a87828d7a09db47f245e9f65cd576..16c28c62ad3ec6fae15d014798f80bbc696ab050 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py
@@ -7,7 +7,7 @@ from .station import Station
 
 from .fixed_types import STATION_TYPES
 
-MODE_TO_COMPONENT  = {
+MODE_TO_COMPONENT = {
     1: 'LBL',
     2: 'LBL',
     3: 'LBH',
@@ -17,6 +17,12 @@ MODE_TO_COMPONENT  = {
     7: 'HBA'
 }
 
+COMPONENT_TO_MODE = {
+    'LBL': [1, 2],
+    'LBH': [3, 4],
+    'HBA': [5, 6, 7]
+}
+
 class RTSMObservation(models.Model):
     observation_id = models.PositiveIntegerField(default=0)
 
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/tasks.py b/LCU/Maintenance/DBInterface/monitoringdb/tasks.py
index fdb75db4f65ac2a000d8c115824a4636f3c3d0ff..b89b200c7145766bb1c59b9676c3540c35dc2346 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/tasks.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/tasks.py
@@ -1,28 +1,33 @@
 import logging
 import os
 
+import matplotlib
+
+matplotlib.use('agg')
 import matplotlib.pyplot as plt
 import numpy
 from celery import shared_task
 from django.conf import settings
-from celery.signals import task_prerun
-from lofar.maintenance.django_postgresql import backend_tasks
-from .models.rtsm import RTSMObservation, MODE_TO_COMPONENT, RTSMErrorSummary, RTSMSummaryPlot
+from .models.rtsm import MODE_TO_COMPONENT, RTSMErrorSummary, RTSMSummaryPlot
 
 logger = logging.getLogger(__name__)
 
 
-@shared_task
-def greetings(name):
-    logger.info('greetings from celerity mr/ms %s', name)
-
-
 class Metadata:
     def __init__(self, **kwargs):
         for key, value in kwargs.items():
             self.__setattr__(key, value)
 
 
+MODE_STR = {1: 'LBA Low 10..90 MHz',
+            2: 'LBA Low 30..90',
+            3: 'LBA High 10..90',
+            4: 'LBA High 30..90',
+            5: 'HBA 110..190',
+            6: 'HBA 170..230',
+            7: 'HBA 210..250'}
+
+
 class ObservationMetadata(Metadata):
     station_name = 'CSXXXC'
 
@@ -31,14 +36,15 @@ class ObservationMetadata(Metadata):
     observation_id = 'XXXXXX'
     samples = 120
 
+    @staticmethod
+    def __format_datetime(datetime):
+        return datetime.strftime("%Y-%m-%d %H:%M:%S")
+
+    def set_start_time(self, start_time):
+        self.start_datetime = ObservationMetadata.__format_datetime(start_time)
 
-class ErrorMetadata(Metadata):
-    error_type = ''
-    rcu_id = ''
-    mode = 0
-    count = ''
-    start_frequency = 0
-    stop_frequency = 0
+    def set_end_time(self, end_time):
+        self.end_datetime = ObservationMetadata.__format_datetime(end_time)
 
 
 def set_style():
@@ -95,7 +101,8 @@ def render_summary_text(error_metadata, observation_metadata):
     rendered_text += 'Samples     : {count:d}/{samples:d}\n'.format(count=error_metadata.count,
                                                                     samples=observation_metadata.samples)
 
-    rendered_text += 'Mode        : {:<25d}'.format(error_metadata.mode)
+    rendered_text += 'Mode        : {:<1d} {:<23s}'.format(error_metadata.mode,
+                                                           MODE_STR[error_metadata.mode])
     rendered_text += 'Badness     : {:.2f} %\n'.format(
         (100. * error_metadata.count) / observation_metadata.samples)
     return rendered_text
@@ -114,8 +121,6 @@ def produce_plot(observation_metadata,
     :param list_good_specta: the average spectrum of the rest of the array
     :param path: the path where to store the file
     """
-    plt.switch_backend('agg')
-
     plt.figure(figsize=(12, 9))
     set_style()
 
@@ -188,6 +193,9 @@ def generate_summary_plot_for_error(error_summary_id):
         observation = error_summary.observation
         observation_metadata.observation_id = observation.observation_id
         observation_metadata.station_name = observation.station.name
+        observation_metadata.set_start_time(observation.start_datetime)
+        observation_metadata.set_end_time(observation.end_datetime)
+
         observation_metadata.samples = observation.samples
         errors = observation.errors.filter(mode=error_summary.mode,
                                            rcu=error_summary.rcu,
@@ -242,5 +250,6 @@ def check_error_summary_plot(error_summary_id):
         elif os.path.isdir(full_path):
             raise Exception('%s is a directory' % full_path)
         else:
-            logger.debug('summary error %s is complete no need to generate additional plot', summary_plot.pk)
+            logger.debug('summary error %s is complete no need to generate additional plot',
+                         summary_plot.pk)
             return summary_plot.pk