diff --git a/PythonServer/screens/ts2_screens.py b/PythonServer/screens/ts2_screens.py
index 7f0bb241373c9598a56ac066e5372177509a1292..534b24456f35a770c75261a516ff29e263e1e6b6 100755
--- a/PythonServer/screens/ts2_screens.py
+++ b/PythonServer/screens/ts2_screens.py
@@ -26,6 +26,7 @@ class ts2_screensScreen(Thread):
             "TS2-010CDL:Cryo-TE-82314:MeasValue",
             "CrS-TICP:Cryo-TE-31492:Val",
         ]
+        intervals = {"2w": 24 * 14, "1w": 24 * 7, "2d": 24 * 2, "1d": 24, "live": 1}
 
         epics_dict = {}
         for pv in pvs:
@@ -34,90 +35,36 @@ class ts2_screensScreen(Thread):
         counter = 0
         while not self.stop_signal.isSet():
             try:
-                if counter % 7200 == 0:
+                if counter % 100 == 0:
                     json_dict = {}
+                    final_data = {}
                     for pv in epics_dict:
-                        start_date = (
-                            datetime.datetime.now() - datetime.timedelta(days=14)
-                        ).isoformat() + "Z"
-                        end_date = datetime.datetime.now().isoformat() + "Z"
-                        url = "http://archiver-01.tn.esss.lu.se:17668/retrieval/data/getData.json?pv=ncount({})&from={}&to={}".format(
-                            pv, start_date, end_date
-                        )
-                        entries = int(requests.get(url).json()[0]["data"][0]["val"])
-                        url = "http://archiver-01.tn.esss.lu.se:17668/retrieval/data/getData.json?pv=nth_{}({})&from={}&to={}".format(
-                            int(entries // 1400), pv, start_date, end_date
-                        )
-                        r = requests.get(url).json()[0]["data"]
-                        raw_data = pandas.DataFrame.from_dict(r)
-                        final_data = {}
-                        final_data["2w"] = raw_data.groupby(
-                            raw_data.index // (raw_data.shape[0] / 100)
-                        ).mean()
-                        tmp = raw_data[
-                            raw_data["secs"]
-                            > (
-                                datetime.datetime.now() - datetime.timedelta(days=7)
-                            ).timestamp()
-                        ]
-                        final_data["1w"] = tmp.groupby(
-                            tmp.index // (tmp.shape[0] / 100)
-                        ).mean()
-                        tmp = raw_data[
-                            raw_data["secs"]
-                            > (
-                                datetime.datetime.now() - datetime.timedelta(days=2)
-                            ).timestamp()
-                        ]
-                        final_data["2d"] = tmp.groupby(
-                            tmp.index // (tmp.shape[0] / 100)
-                        ).mean()
-                        tmp = raw_data[
-                            raw_data["secs"]
-                            > (
-                                datetime.datetime.now() - datetime.timedelta(days=1)
-                            ).timestamp()
-                        ]
-                        final_data["1d"] = tmp.groupby(
-                            tmp.index // (tmp.shape[0] / 100)
-                        ).mean()
-                        final_data["live"] = raw_data[-100:]
                         json_dict[pv] = {}
-                        json_dict[pv]["2w"] = list(
-                            zip(
-                                (final_data["2w"]["secs"] * 1000).astype("int")
-                                + (final_data["2w"]["nanos"] / 1e6).astype("int"),
-                                round(final_data["2w"]["val"], 3),
+                        for interval in intervals:
+                            start_date = (
+                                datetime.datetime.now()
+                                - datetime.timedelta(hours=intervals[interval])
+                            ).isoformat() + "Z"
+                            end_date = datetime.datetime.now().isoformat() + "Z"
+                            url = "http://archiver-01.tn.esss.lu.se:17668/retrieval/data/getData.json?pv=ncount({})&from={}&to={}".format(
+                                pv, start_date, end_date
                             )
-                        )
-                        json_dict[pv]["1w"] = list(
-                            zip(
-                                (final_data["1w"]["secs"] * 1000).astype("int")
-                                + (final_data["1w"]["nanos"] / 1e6).astype("int"),
-                                round(final_data["1w"]["val"], 3),
+                            entries = int(requests.get(url).json()[0]["data"][0]["val"])
+                            url = "http://archiver-01.tn.esss.lu.se:17668/retrieval/data/getData.json?pv=nth_{}({})&from={}&to={}".format(
+                                int(entries // 100), pv, start_date, end_date
                             )
-                        )
-                        json_dict[pv]["2d"] = list(
-                            zip(
-                                (final_data["2d"]["secs"] * 1000).astype("int")
-                                + (final_data["2d"]["nanos"] / 1e6).astype("int"),
-                                round(final_data["2d"]["val"], 3),
+                            r = requests.get(url).json()[0]["data"]
+                            raw_data = pandas.DataFrame.from_dict(r)
+                            final_data[interval] = raw_data
+                            json_dict[pv][interval] = list(
+                                zip(
+                                    (final_data[interval]["secs"] * 1000).astype("int")
+                                    + (final_data[interval]["nanos"] / 1e6).astype(
+                                        "int"
+                                    ),
+                                    round(final_data[interval]["val"], 3),
+                                )
                             )
-                        )
-                        json_dict[pv]["1d"] = list(
-                            zip(
-                                (final_data["1d"]["secs"] * 1000).astype("int")
-                                + (final_data["1d"]["nanos"] / 1e6).astype("int"),
-                                round(final_data["1d"]["val"], 3),
-                            )
-                        )
-                        json_dict[pv]["live"] = list(
-                            zip(
-                                (final_data["live"]["secs"] * 1000).astype("int")
-                                + (final_data["live"]["nanos"] / 1e6).astype("int"),
-                                round(final_data["live"]["val"], 3),
-                            )
-                        )
                     counter = 0
 
                 for pv in epics_dict:
@@ -139,7 +86,7 @@ class ts2_screensScreen(Thread):
             except Exception:
                 print(sys.exc_info())
                 time.sleep(1)
-            time.sleep(0.5)
+            time.sleep(36)
             counter += 1
 
         for pv in epics_dict: