diff --git a/CDB/LOFAR_ConfigDb.json b/CDB/LOFAR_ConfigDb.json
index 07ec1d19cbc03ba3345083ab1743bbf5cb8b1a70..0415262942e43476b7c867a372c0476a6bb54fcb 100644
--- a/CDB/LOFAR_ConfigDb.json
+++ b/CDB/LOFAR_ConfigDb.json
@@ -427,55 +427,59 @@
             }
         },
         "RandomData": {
-            "CS998": {
+            "LTS": {
                 "RandomData": {
-                    "computation/random/1": {
+                    "LTS/RandomData/1": {
                         "properties": {
                             "polled_attr": [
                                 "rnd1",
-                                "100",
+                                "1000",
                                 "rnd2",
-                                "100",
+                                "1000",
                                 "rnd3",
-                                "100",
+                                "1000",
                                 "rnd4",
-                                "100",
+                                "1000",
                                 "rnd5",
-                                "100",
+                                "1000",
                                 "rnd6",
-                                "100",
+                                "1000",
                                 "rnd7",
-                                "100",
+                                "1000",
                                 "rnd8",
-                                "100",
+                                "1000",
                                 "rnd9",
-                                "100",
+                                "1000",
                                 "rnd10",
-                                "100",
+                                "1000",
                                 "rnd11",
-                                "100",
+                                "1000",
                                 "rnd12",
-                                "100",
+                                "1000",
                                 "rnd13",
-                                "100",
+                                "1000",
                                 "rnd14",
-                                "100",
+                                "1000",
                                 "rnd15",
-                                "100",
+                                "1000",
                                 "rnd16",
-                                "100",
+                                "1000",
                                 "rnd17",
-                                "100",
+                                "1000",
                                 "rnd18",
-                                "100",
+                                "1000",
                                 "rnd19",
-                                "100",
+                                "1000",
                                 "rnd20",
-                                "100"
+                                "1000",
+                                "state",
+                                "1000",
+                                "status",
+                                "1000"
                             ]
                         }
                     },
-                    "computation/random/2": {
+                    "LTS/RandomData/2": {
                         "properties": {
                             "polled_attr": [
                                 "rnd1",
diff --git a/devices/RandomData.py b/devices/RandomData.py
new file mode 100644
index 0000000000000000000000000000000000000000..86836b73ce9a5a154d33a8ac891a8517678b08f7
--- /dev/null
+++ b/devices/RandomData.py
@@ -0,0 +1,466 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of the LOFAR2.0 project
+#
+#
+#
+# Distributed under the terms of the APACHE license.
+# See LICENSE.txt for more info.
+
+# PyTango imports
+from tango import DevState
+from tango.server import run, Device, attribute, command
+from numpy import random
+
+__all__ = ["RandomData", "main"]
+
+class RandomData(Device):
+    """
+    Random data monitor point device
+    """
+    def read(self):
+        return random.random()
+
+    # Attributes
+    rnd1 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd2 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd3 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd4 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd5 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd6 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd7 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd8 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd9 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd10 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd11 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd12 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd13 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd14 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd15 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd16 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd17 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd18 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd19 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    rnd20 = attribute(
+        dtype = 'DevDouble',
+        polling_period = 1000,
+        period = 1000,
+        rel_change = 0.1,
+        abs_change = 0.1,
+        archive_period = 1000,
+        archive_rel_change = 0.1,
+        archive_abs_change = 0.1,
+        max_value = 1.0,
+        min_value = 0.0,
+        max_alarm = 1.0,
+        min_alarm = 0.99,
+        max_warning = 0.99,
+        min_warning = 0.98,
+        fget = read,
+    )
+
+    # General methods
+    def init_device(self):
+        """
+        Initialises the attributes and properties of the RandomData device.
+        """
+        Device.init_device(self)
+        self.set_state(DevState.OFF)
+
+        self.rnd1.set_data_ready_event(True)
+        self.set_change_event("rnd1", True, True)
+        self.set_archive_event("rnd1", True, True)
+        self.rnd2.set_data_ready_event(True)
+        self.set_change_event("rnd2", True, True)
+        self.set_archive_event("rnd2", True, True)
+        self.rnd3.set_data_ready_event(True)
+        self.set_change_event("rnd3", True, True)
+        self.set_archive_event("rnd3", True, True)
+        self.rnd4.set_data_ready_event(True)
+        self.set_change_event("rnd4", True, True)
+        self.set_archive_event("rnd4", True, True)
+        self.rnd5.set_data_ready_event(True)
+        self.set_change_event("rnd5", True, True)
+        self.set_archive_event("rnd5", True, True)
+        self.rnd6.set_data_ready_event(True)
+        self.set_change_event("rnd6", True, True)
+        self.set_archive_event("rnd6", True, True)
+        self.rnd7.set_data_ready_event(True)
+        self.set_change_event("rnd7", True, True)
+        self.set_archive_event("rnd7", True, True)
+        self.rnd8.set_data_ready_event(True)
+        self.set_change_event("rnd8", True, True)
+        self.set_archive_event("rnd8", True, True)
+        self.rnd9.set_data_ready_event(True)
+        self.set_change_event("rnd9", True, True)
+        self.set_archive_event("rnd9", True, True)
+        self.rnd10.set_data_ready_event(True)
+        self.set_change_event("rnd10", True, True)
+        self.set_archive_event("rnd10", True, True)
+        self.rnd11.set_data_ready_event(True)
+        self.set_change_event("rnd11", True, True)
+        self.set_archive_event("rnd11", True, True)
+        self.rnd12.set_data_ready_event(True)
+        self.set_change_event("rnd12", True, True)
+        self.set_archive_event("rnd12", True, True)
+        self.rnd13.set_data_ready_event(True)
+        self.set_change_event("rnd13", True, True)
+        self.set_archive_event("rnd13", True, True)
+        self.rnd14.set_data_ready_event(True)
+        self.set_change_event("rnd14", True, True)
+        self.set_archive_event("rnd14", True, True)
+        self.rnd15.set_data_ready_event(True)
+        self.set_change_event("rnd15", True, True)
+        self.set_archive_event("rnd15", True, True)
+        self.rnd16.set_data_ready_event(True)
+        self.set_change_event("rnd16", True, True)
+        self.set_archive_event("rnd16", True, True)
+        self.rnd17.set_data_ready_event(True)
+        self.set_change_event("rnd17", True, True)
+        self.set_archive_event("rnd17", True, True)
+        self.rnd18.set_data_ready_event(True)
+        self.set_change_event("rnd18", True, True)
+        self.set_archive_event("rnd18", True, True)
+        self.rnd19.set_data_ready_event(True)
+        self.set_change_event("rnd19", True, True)
+        self.set_archive_event("rnd19", True, True)
+        self.rnd20.set_data_ready_event(True)
+        self.set_change_event("rnd20", True, True)
+        self.set_archive_event("rnd20", True, True)
+        self.set_state(DevState.ON)
+
+    def delete_device(self):
+        self.set_state(DevState.OFF)
+
+
+def main(args = None, **kwargs):
+    """
+    Main function of the RandomData module.
+    """
+    return run((RandomData,), args = args, **kwargs)
+
+if __name__ == '__main__':
+    main()