diff --git a/CDB/integration_ConfigDb.json b/CDB/integration_ConfigDb.json
index b2f9cca6dc8db917942f35bb8be25e4cb88bdb93..76f66029a472312e498cf0da89224d3f5f7746e1 100644
--- a/CDB/integration_ConfigDb.json
+++ b/CDB/integration_ConfigDb.json
@@ -59,6 +59,25 @@
                     }
                 }
             }
+        },
+         "UNB2": {
+            "LTS": {
+                "UNB2": {
+                    "LTS/UNB2/1": {
+                        "properties": {
+                            "OPC_Server_Name": [
+                                "despi.astron.nl"
+                            ],
+                            "OPC_Server_Port": [
+                                "4842"
+                            ],
+                            "OPC_Time_Out": [
+                                "5.0"
+                            ]
+                        }
+                    }
+                }
+            }
         }
     }
 }
diff --git a/devices/integration_test/devices/test_device_unb2.py b/devices/integration_test/devices/test_device_unb2.py
new file mode 100644
index 0000000000000000000000000000000000000000..97f31ab6ee162f8183db963e92f4f03b9ee7f617
--- /dev/null
+++ b/devices/integration_test/devices/test_device_unb2.py
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of the LOFAR 2.0 Station Software
+#
+#
+#
+# Distributed under the terms of the APACHE license.
+# See LICENSE.txt for more info.
+
+import time
+
+from tango import DeviceProxy
+from tango._tango import DevState
+
+from integration_test import base
+
+
+class TestDeviceUNB2(base.IntegrationTestCase):
+
+    def setUp(self):
+        """Intentionally recreate the device object in each test"""
+        super(TestDeviceUNB2, self).setUp()
+
+    def tearDown(self):
+        """Turn device Off in teardown to prevent blocking tests"""
+        d = DeviceProxy("LTS/UNB2/1")
+
+        try:
+            d.Off()
+        except Exception as e:
+            """Failing to turn Off devices should not raise errors here"""
+            print(f"Failed to turn device off in teardown {e}")
+
+    def test_device_proxy_unb2(self):
+        """Test if we can successfully create a DeviceProxy and fetch state"""
+
+        d = DeviceProxy("LTS/UNB2/1")
+
+        self.assertEqual(DevState.OFF, d.state())
+
+    def test_device_unb2_initialize(self):
+        """Test if we can transition to standby"""
+
+        d = DeviceProxy("LTS/UNB2/1")
+
+        d.initialise()
+
+        self.assertEqual(DevState.STANDBY, d.state())
+
+    def test_device_unb2_on(self):
+        """Test if we can transition to on"""
+
+        d = DeviceProxy("LTS/UNB2/1")
+
+        d.initialise()
+
+        d.on()
+
+        self.assertEqual(DevState.ON, d.state())
diff --git a/docker-compose/Makefile b/docker-compose/Makefile
index 09eb760123bc4687207609c3ad94c740a72c317c..683019aa6781c2beca40ea39ade8a225c2ddeaca 100644
--- a/docker-compose/Makefile
+++ b/docker-compose/Makefile
@@ -126,8 +126,8 @@ pull: ## pull the images from the Docker hub
 
 build: ## rebuild images
 	# docker-compose does not support build dependencies, so manage those here
-	$(DOCKER_COMPOSE_ARGS) docker-compose -f lofar-device-base.yml -f networks.yml build
-	$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) build
+	$(DOCKER_COMPOSE_ARGS) docker-compose -f lofar-device-base.yml -f networks.yml build --progress=plain
+	$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) build --progress=plain
 
 up: minimal  ## start the base TANGO system and prepare all services
 	$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) up --no-start
diff --git a/jupyter-notebooks/UNB2_notebook.ipynb b/jupyter-notebooks/UNB2_notebook.ipynb
index 3e87179f3a0f0ef951da6a078ba5df3610a6696d..e140631ffc4ea0cee80e2374ec6b5f1289dbba24 100644
--- a/jupyter-notebooks/UNB2_notebook.ipynb
+++ b/jupyter-notebooks/UNB2_notebook.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 25,
    "id": "waiting-chance",
    "metadata": {},
    "outputs": [],
@@ -12,7 +12,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 26,
    "id": "moving-alexandria",
    "metadata": {},
    "outputs": [],
@@ -22,7 +22,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 28,
    "id": "ranking-aluminum",
    "metadata": {
     "scrolled": false
@@ -55,7 +55,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 29,
    "id": "0caa8146",
    "metadata": {},
    "outputs": [
@@ -63,68 +63,68 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "version_R *L2SS-268-LR1_2_Read_hardware_status_of_UB2c_from_SDPHW [1007a5c5462b1aa3e8f81268f890f6c058413218]\n",
+      "version_R *L2SS-268-LR1_2_Read_hardware_status_of_UB2c_from_SDPHW [b2db449162be8e52013dbbd1a44d6d90a12491b5]\n",
       "UNB2_Power_ON_OFF_RW [False False]\n",
       "UNB2_Front_Panel_LED_RW [0 0]\n",
       "UNB2_Front_Panel_LED_R [0 0]\n",
       "UNB2_mask_RW [False False]\n",
       "UNB2_I2C_bus_STATUS_R [False False]\n",
-      "UNB2_EEPROM_Unique_ID_R [5947666 5947666]\n",
-      "UNB2_DC_DC_48V_12V_VIN_R [29.18505859 29.18505859]\n",
-      "UNB2_DC_DC_48V_12V_VOUT_R [12.00146484 11.98486328]\n",
-      "UNB2_DC_DC_48V_12V_IOUT_R [3.625 3.625]\n",
-      "UNB2_DC_DC_48V_12V_TEMP_R [37. 37.]\n",
-      "UNB2_POL_QSFP_N01_VOUT_R [3.28686523 3.28686523]\n",
-      "UNB2_POL_QSFP_N01_IOUT_R [1.55078125 1.55078125]\n",
-      "UNB2_POL_QSFP_N01_TEMP_R [33.75 33.75]\n",
-      "UNB2_POL_QSFP_N23_VOUT_R [3.28710938 3.28710938]\n",
-      "UNB2_POL_QSFP_N23_IOUT_R [1.25195312 1.25195312]\n",
-      "UNB2_POL_QSFP_N23_TEMP_R [40.625 40.625]\n",
-      "UNB2_POL_SWITCH_1V2_VOUT_R [1.19970703 1.19970703]\n",
-      "UNB2_POL_SWITCH_1V2_IOUT_R [1.73632812 1.73632812]\n",
-      "UNB2_POL_SWITCH_1V2_TEMP_R [45.125 45.125]\n",
-      "UNB2_POL_SWITCH_PHY_VOUT_R [1.00024414 1.00024414]\n",
-      "UNB2_POL_SWITCH_PHY_IOUT_R [0.52050781 0.52050781]\n",
-      "UNB2_POL_SWITCH_PHY_TEMP_R [46.1875 46.1875]\n",
-      "UNB2_POL_CLOCK_VOUT_R [2.49951172 2.49951172]\n",
-      "UNB2_POL_CLOCK_IOUT_R [0.94042969 0.94042969]\n",
-      "UNB2_POL_CLOCK_TEMP_R [42.875 42.875]\n",
-      "UNB2_FPGA_DDR4_SLOT_TEMP_R [[27.5  27.5  29.25 27.75 28.75 29.25 28.5  28.5 ]\n",
-      " [27.5  27.5  29.25 27.75 28.75 29.25 28.5  28.5 ]]\n",
-      "UNB2_FPGA_POL_CORE_IOUT_R [[5.921875   4.109375   3.76171875 3.55859375]\n",
-      " [5.921875   4.1015625  3.76171875 3.55859375]]\n",
-      "UNB2_FPGA_POL_CORE_TEMP_R [[30.84375 31.46875 32.4375  34.75   ]\n",
-      " [30.84375 31.5     32.375   34.6875 ]]\n",
-      "UNB2_FPGA_POL_ERAM_VOUT_R [[0.8996582  0.90014648 0.90014648 0.8996582 ]\n",
-      " [0.8996582  0.8996582  0.90014648 0.8996582 ]]\n",
-      "UNB2_FPGA_POL_ERAM_IOUT_R [[0.08764648 0.0880127  0.18725586 0.08703613]\n",
-      " [0.02593994 0.0880127  0.18725586 0.08703613]]\n",
-      "UNB2_FPGA_POL_ERAM_TEMP_R [[38.75   39.25   41.     41.4375]\n",
-      " [38.75   39.25   41.     41.4375]]\n",
-      "UNB2_FPGA_POL_RXGXB_VOUT_R [[0.90014648 0.89990234 0.90014648 0.90014648]\n",
-      " [0.90014648 0.89990234 0.90014648 0.90014648]]\n",
-      "UNB2_FPGA_POL_RXGXB_IOUT_R [[0.49755859 0.41113281 0.40234375 0.48876953]\n",
-      " [0.49755859 0.41113281 0.40234375 0.48876953]]\n",
-      "UNB2_FPGA_POL_RXGXB_TEMP_R [[34.75   38.0625 36.5    38.1875]\n",
-      " [34.75   38.0625 36.5    38.1875]]\n",
-      "UNB2_FPGA_POL_TXGXB_VOUT_R [[0.89990234 0.90014648 0.90014648 0.89990234]\n",
-      " [0.89990234 0.90014648 0.90014648 0.89990234]]\n",
-      "UNB2_FPGA_POL_TXGXB_IOUT_R [[0.17480469 0.12219238 0.06433105 0.13110352]\n",
-      " [0.17480469 0.12219238 0.06433105 0.13110352]]\n",
-      "UNB2_FPGA_POL_HGXB_VOUT_R [[1.80004883 1.79956055 1.79980469 1.79980469]\n",
-      " [1.80004883 1.79956055 1.79980469 1.79980469]]\n",
-      "UNB2_FPGA_POL_HGXB_IOUT_R [[0.67089844 0.76269531 0.80664062 0.7265625 ]\n",
-      " [0.67089844 0.76269531 0.80664062 0.7265625 ]]\n",
-      "UNB2_FPGA_POL_HGXB_TEMP_R [[40.375  41.8125 44.3125 40.625 ]\n",
-      " [40.375  41.8125 44.3125 40.625 ]]\n",
-      "UNB2_FPGA_POL_PGM_VOUT_R [[1.80029297 1.80004883 1.79931641 1.80029297]\n",
-      " [1.80029297 1.80004883 1.79931641 1.80029297]]\n",
-      "UNB2_FPGA_POL_PGM_IOUT_R [[0.13818359 0.17089844 0.31542969 0.10656738]\n",
-      " [0.1550293  0.17089844 0.31542969 0.10656738]]\n",
-      "UNB2_FPGA_POL_PGM_TEMP_R [[40.0625 42.1875 44.3125 40.3125]\n",
-      " [40.0625 42.1875 44.3125 40.3125]]\n",
-      "State <function __get_command_func.<locals>.f at 0x7f636d295510>\n",
-      "Status <function __get_command_func.<locals>.f at 0x7f636d295510>\n"
+      "UNB2_EEPROM_Unique_ID_R [0 0]\n",
+      "UNB2_DC_DC_48V_12V_VIN_R [0. 0.]\n",
+      "UNB2_DC_DC_48V_12V_VOUT_R [0. 0.]\n",
+      "UNB2_DC_DC_48V_12V_IOUT_R [0. 0.]\n",
+      "UNB2_DC_DC_48V_12V_TEMP_R [0. 0.]\n",
+      "UNB2_POL_QSFP_N01_VOUT_R [0. 0.]\n",
+      "UNB2_POL_QSFP_N01_IOUT_R [0. 0.]\n",
+      "UNB2_POL_QSFP_N01_TEMP_R [0. 0.]\n",
+      "UNB2_POL_QSFP_N23_VOUT_R [0. 0.]\n",
+      "UNB2_POL_QSFP_N23_IOUT_R [0. 0.]\n",
+      "UNB2_POL_QSFP_N23_TEMP_R [0. 0.]\n",
+      "UNB2_POL_SWITCH_1V2_VOUT_R [0. 0.]\n",
+      "UNB2_POL_SWITCH_1V2_IOUT_R [0. 0.]\n",
+      "UNB2_POL_SWITCH_1V2_TEMP_R [0. 0.]\n",
+      "UNB2_POL_SWITCH_PHY_VOUT_R [0. 0.]\n",
+      "UNB2_POL_SWITCH_PHY_IOUT_R [0. 0.]\n",
+      "UNB2_POL_SWITCH_PHY_TEMP_R [0. 0.]\n",
+      "UNB2_POL_CLOCK_VOUT_R [0. 0.]\n",
+      "UNB2_POL_CLOCK_IOUT_R [0. 0.]\n",
+      "UNB2_POL_CLOCK_TEMP_R [0. 0.]\n",
+      "UNB2_FPGA_DDR4_SLOT_TEMP_R [[0. 0. 0. 0. 0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0. 0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_CORE_IOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_CORE_TEMP_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_ERAM_VOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_ERAM_IOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_ERAM_TEMP_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_RXGXB_VOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_RXGXB_IOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_RXGXB_TEMP_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_TXGXB_VOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_TXGXB_IOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_HGXB_VOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_HGXB_IOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_HGXB_TEMP_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_PGM_VOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_PGM_IOUT_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "UNB2_FPGA_POL_PGM_TEMP_R [[0. 0. 0. 0.]\n",
+      " [0. 0. 0. 0.]]\n",
+      "State <function __get_command_func.<locals>.f at 0x7f4c210e1ea0>\n",
+      "Status <function __get_command_func.<locals>.f at 0x7f4c210e1ea0>\n"
      ]
     }
    ],
@@ -138,7 +138,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 78,
+   "execution_count": 30,
    "id": "929965c2",
    "metadata": {},
    "outputs": [
@@ -171,7 +171,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 82,
+   "execution_count": 22,
    "id": "6813164e",
    "metadata": {},
    "outputs": [
@@ -201,7 +201,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 74,
+   "execution_count": 23,
    "id": "e9b32ec7",
    "metadata": {},
    "outputs": [
@@ -210,7 +210,7 @@
      "output_type": "stream",
      "text": [
       "Old values:\n",
-      " [ True  True]\n",
+      " [False False]\n",
       "Values to be set:\n",
       " [False False]\n",
       "Values read back after setting:\n",
@@ -231,25 +231,21 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 24,
    "id": "transsexual-battle",
    "metadata": {},
    "outputs": [
     {
-     "ename": "DevFailed",
-     "evalue": "DevFailed[\nDevError[\n    desc = Read value for attribute FPGA_mask_RW has not been updated\n  origin = Device_3Impl::read_attributes_no_except\n  reason = API_AttrValueNotSet\nseverity = ERR]\n\nDevError[\n    desc = Failed to read_attribute on device lts/sdp/1, attribute FPGA_mask_RW\n  origin = DeviceProxy::read_attribute()\n  reason = API_AttributeFailed\nseverity = ERR]\n]",
+     "ename": "AttributeError",
+     "evalue": "FPGA_mask_RW",
      "output_type": "error",
      "traceback": [
       "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mDevFailed\u001b[0m                                 Traceback (most recent call last)",
+      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
       "\u001b[0;32m/tmp/ipykernel_22/2885399456.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m values = [\n\u001b[0;32m----> 2\u001b[0;31m     \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFPGA_mask_RW\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"FPGA_mask_RW\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m     \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFPGA_scrap_R\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"FPGA_scrap_R\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFPGA_scrap_RW\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"FPGA_scrap_RW\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m     \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFPGA_status_R\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"FPGA_status_R\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/device_proxy.py\u001b[0m in \u001b[0;36m__DeviceProxy__getattr\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m    319\u001b[0m     \u001b[0mattr_info\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__get_attr_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname_l\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    320\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mattr_info\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 321\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0m__get_attribute_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mattr_info\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    322\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    323\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mname_l\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__get_pipe_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/device_proxy.py\u001b[0m in \u001b[0;36m__get_attribute_value\u001b[0;34m(self, attr_info, name)\u001b[0m\n\u001b[1;32m    281\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__get_attribute_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mattr_info\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    282\u001b[0m     \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menum_class\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mattr_info\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 283\u001b[0;31m     \u001b[0mattr_value\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_attribute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    284\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0menum_class\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    285\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0menum_class\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mattr_value\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/green.py\u001b[0m in \u001b[0;36mgreener\u001b[0;34m(obj, *args, **kwargs)\u001b[0m\n\u001b[1;32m    193\u001b[0m             \u001b[0mgreen_mode\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0maccess\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'green_mode'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    194\u001b[0m             \u001b[0mexecutor\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_object_executor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgreen_mode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 195\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mexecutor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwait\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    196\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    197\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mgreener\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/green.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, fn, args, kwargs, wait, timeout)\u001b[0m\n\u001b[1;32m    107\u001b[0m         \u001b[0;31m# Sychronous (no delegation)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    108\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masynchronous\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0min_executor_context\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 109\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    110\u001b[0m         \u001b[0;31m# Asynchronous delegation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    111\u001b[0m         \u001b[0maccessor\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdelegate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/device_proxy.py\u001b[0m in \u001b[0;36m__DeviceProxy__read_attribute\u001b[0;34m(self, value, extract_as)\u001b[0m\n\u001b[1;32m    439\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    440\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__DeviceProxy__read_attribute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextract_as\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mExtractAs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mNumpy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 441\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0m__check_read_attribute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_read_attribute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextract_as\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    442\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    443\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/device_proxy.py\u001b[0m in \u001b[0;36m__check_read_attribute\u001b[0;34m(dev_attr)\u001b[0m\n\u001b[1;32m    155\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__check_read_attribute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdev_attr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    156\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mdev_attr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhas_failed\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 157\u001b[0;31m         \u001b[0;32mraise\u001b[0m \u001b[0mDevFailed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mdev_attr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_err_stack\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    158\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mdev_attr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    159\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mDevFailed\u001b[0m: DevFailed[\nDevError[\n    desc = Read value for attribute FPGA_mask_RW has not been updated\n  origin = Device_3Impl::read_attributes_no_except\n  reason = API_AttrValueNotSet\nseverity = ERR]\n\nDevError[\n    desc = Failed to read_attribute on device lts/sdp/1, attribute FPGA_mask_RW\n  origin = DeviceProxy::read_attribute()\n  reason = API_AttributeFailed\nseverity = ERR]\n]"
+      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/device_proxy.py\u001b[0m in \u001b[0;36m__DeviceProxy__getattr\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m    353\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_pipe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    354\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 355\u001b[0;31m     \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraise_from\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mAttributeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcause\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    356\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    357\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/six.py\u001b[0m in \u001b[0;36mraise_from\u001b[0;34m(value, from_value)\u001b[0m\n",
+      "\u001b[0;31mAttributeError\u001b[0m: FPGA_mask_RW"
      ]
     }
    ],
diff --git a/sbin/run_integration_test.sh b/sbin/run_integration_test.sh
index d54163625541c13816bf0309c09a2713ce35add9..f8f6bbbb1ded70b18db18732efcda4dfa502d8e5 100755
--- a/sbin/run_integration_test.sh
+++ b/sbin/run_integration_test.sh
@@ -8,7 +8,7 @@ fi
 
 # Start all required containers
 cd "$LOFAR20_DIR/docker-compose" || exit 1
-make start databaseds dsconfig device-sdp device-pcc jupyter elk sdptr-sim pypcc-sim
+make start databaseds dsconfig device-sdp device-pcc jupyter elk sdptr-sim pypcc-sim unb2-sim
 
 # Update the dsconfig
 cd "$TANGO_LOFAR_LOCAL_DIR" || exit 1