diff --git a/MAC/Navigator/config/config.maincu b/MAC/Navigator/config/config.maincu
index 3789625bd277105a5bae26c0e8c7f7f35318b49c..f0ccf235989dbcd26c30ceafeef7be2f6e457f50 100644
--- a/MAC/Navigator/config/config.maincu
+++ b/MAC/Navigator/config/config.maincu
@@ -1,5 +1,5 @@
 [general]
-pvss_path = "C:/ETM/PVSS2/3.0"
+pvss_path = "C:/ETM/PVSS2/3.1"
 proj_path = "C:/Data/MCU001"
 proj_version = "3.0"
 userName = "root"
diff --git a/MAC/Navigator/config/config.nav b/MAC/Navigator/config/config.nav
index 8413f99ea3b406254a6a48a29a7ca218b8d68d07..5a8ca21baacabea9ba079b59958abdc646065ce1 100644
--- a/MAC/Navigator/config/config.nav
+++ b/MAC/Navigator/config/config.nav
@@ -1,5 +1,5 @@
 [general]
-pvss_path = "C:/ETM/PVSS2/3.0"
+pvss_path = "C:/ETM/PVSS2/3.1"
 proj_path = "C:/Data/LOFAR/MAC/Navigator"
 proj_version = "3.0"
 userName = "root"
diff --git a/MAC/Navigator/config/config.station b/MAC/Navigator/config/config.station
index 8e62c7da93fff06dae667fef48e9bbb5773feb87..80908d20a0a58e192bb28836d89c2fb1d2345a07 100644
--- a/MAC/Navigator/config/config.station
+++ b/MAC/Navigator/config/config.station
@@ -1,5 +1,5 @@
 [general]
-pvss_path = "C:/ETM/PVSS2/3.0"
+pvss_path = "C:/ETM/PVSS2/3.1"
 proj_path = "C:/Data/CS010"
 proj_version = "3.0"
 userName = "root"
diff --git a/MAC/Navigator/panels/nav_usr/CS1/Observation-Details.pnl b/MAC/Navigator/panels/nav_usr/CS1/Observation-Details.pnl
index 1b2889f2924d6fe7b436071ff5244e3a207a5cf0..a290d06fd68ec615d8dc949459d1192b9a7c757c 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/Observation-Details.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/Observation-Details.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,280 104 1007 801 N "_3DFace" 1
+PANEL,430 119 1007 801 N "_3DFace" 1
 "$datapoint"
 "main()
 {
@@ -22,11 +22,15 @@ PANEL,280 104 1007 801 N "_3DFace" 1
 	// load propertyset from datapoint
 	navPMLloadPropertySet(baseDP);
 	
+	// connect for selfUpdates
+  showSelfState(baseDP);
+	
 	// check if the requiered datapoint for this view is enabled and accessible
 	if (dpAccessable(baseDP + \".state\")) {
 		dpConnect(\"updateObservation\", baseDP + \".state:_online.._value\",
+		                           		 baseDP + \".currentAction:_online.._value\",
 		                           		 baseDP + \".error:_online.._value\",
-		                           		 baseDP + \".logmsg:_online.._value\",
+		                           		 baseDP + \".logMsg:_online.._value\",
 		                           		 baseDP + \".claimPeriod:_online.._value\",
 		                           		 baseDP + \".preparePeriod:_online.._value\",
 		                           		 baseDP + \".startTime:_online.._value\",
@@ -43,44 +47,35 @@ PANEL,280 104 1007 801 N "_3DFace" 1
 		                           		 baseDP + \".BGLNodeList:_online.._value\",
 		                           		 baseDP + \".storageNodeList:_online.._value\",
 		                               baseDP + \".state:_online.._invalid\");
-  } else {
-    setValue(\"connected\", \"backCol\", \"_dpdoesnotexist\");
-  }  
+  }
 }
 
 updateObservation( string dp1, string state,
-                   string dp2, string error,
-                   string dp3, string logMsg,
-                   string dp4, int claimPeriod,
-                   string dp5, int preparePeriod,
-                   string dp6, string startTime,
-                   string dp7, string stopTime,
-                   string dp8, string subbandList,
-                   string dp9, string beamletList,
-                   string dp10, string bandFilter,
-                   string dp11, int nyquistZone,
-                   string dp12, string antenneArray,
-                   string dp13, string receiverList,
-                   string dp14, string sampleClock,
-                   string dp15, string measurementSet,
-                   string dp16, string stationList,
-                   string dp17, string BGLNodeList,
-                   string dp18, string storageNodeList,
-                   string dp19, bool invalid) {
+                   string dp2, string action,
+                   string dp3, string error,
+                   string dp4, string logMsg,
+                   string dp5, int claimPeriod,
+                   string dp6, int preparePeriod,
+                   string dp7, string startTime,
+                   string dp8, string stopTime,
+                   string dp9, string subbandList,
+                   string dp10, string beamletList,
+                   string dp11, string bandFilter,
+                   string dp12, int nyquistZone,
+                   string dp13, string antenneArray,
+                   string dp14, string receiverList,
+                   string dp15, string sampleClock,
+                   string dp16, string measurementSet,
+                   string dp17, string stationList,
+                   string dp18, string BGLNodeList,
+                   string dp19, string storageNodeList,
+                   string dp20, bool invalid) {
     
     
-  //DebugTN(\"state: \",state);
-  string SymbolCol;                
-	if (invalid) 
-	{
-		SymbolCol=\"Lofar_device_invalid\";
-  } else {
-		SymbolCol=\"Lofar_device_active\";	  
-  }
-  setValue(\"connected\",\"backCol\",SymbolCol);
+
  
 
-	setObsTableValue(\"state\",state); // Contents
+	setObsTableValue(\"action\",action); // Contents
 	setObsTableValue(\"error\",error); // Contents
 	setObsTableValue(\"logMsg\",logMsg); // Contents
 	setObsTableValue(\"claimPeriod\",claimPeriod); // Contents
@@ -106,7 +101,7 @@ setObsTableValue(string colName,string value) {
 	
 initTable() {
   ObservationTable.deleteAllLines();
-  ObservationTable.updateLine(1,\"Property\",\"state\");
+  ObservationTable.updateLine(1,\"Property\",\"action\");
   ObservationTable.cellBackCol(\"_3DFace\");
   ObservationTable.appendLine(\"Property\",\"error\");
   ObservationTable.cellBackCol(\"_3DFace\");
@@ -200,19 +195,8 @@ LANG:1 107 -microsoft windows-Arial-normal-r-normal-*-*-180-100-100-*-*-iso8859-
 0 ""
 1
 LANG:1 0 
-7 18
-"connected"
-""
-1 28.5 22.4412 E E E 1 E 1 E N "_WindowText" E N "green" E E
- E E
-19 0 0 0 0 0
-EE E
+1 19 0 "" 1
 0
-1
-LANG:1 0 
-1
-"dashclr"N "_Transparent"
-E E 0 1 1 0 1 E 1.055555555555556 0 1.0625  -2.083333333333334 -1.84375  1 E 37.5 29.5 9 8
 25 17
 "ObservationTable"
 ""
@@ -272,4 +256,8 @@ LAYER, 7
 1
 LANG:1 6 Layer8
 0
+3 0 "selfState"
+"objects\\nav_usr\\CS1\\lofar_self_state.pnl" 31 29 T 20 1 0 1  -1 -6  
+1
+"$object""Observation"
 0
\ No newline at end of file
diff --git a/MAC/Navigator/panels/nav_usr/CS1/Observations overview.pnl b/MAC/Navigator/panels/nav_usr/CS1/Observations overview.pnl
deleted file mode 100644
index d52a9f57ab8d282a3cece86842f2b19656e3f02b..0000000000000000000000000000000000000000
--- a/MAC/Navigator/panels/nav_usr/CS1/Observations overview.pnl	
+++ /dev/null
@@ -1,227 +0,0 @@
-V 10
-1
-LANG:1 8 (NoName)
-PANEL,315 116 1025 741 N "_3DFace" 0
-"main()
-{
-  observationsDP = \"LOFAR_PermSW_MACScheduler\";	
-  
-  if (dpAccessable(observationsDP + \".activeObservations\")) {
-	  dpConnect(\"updateObservationsTable\",observationsDP+\".activeObservations:_online.._value\",
-	                                      observationsDP+\".state:_online.._value\",
-	                                      observationsDP+\".error:_online.._value\",
-	                                      observationsDP+\".state:_online.._invalid\");
-  } else {
-    setValue(\"ActiveSignal\", \"backCol\", \"_dpdoesnotexist\");
-  }
-}" 0
-EE E E 1 0 0 0  10 10
-"" 0 1
-E"string observationsDP=\"\";
-
-updateObservationsTable(string dpe, dyn_string dpv,
-                        string dp1, string state,
-							          string dp2, string error,
-							          string dp3, bool invalid)
-{
-
-	string SymbolCol;
-	if (invalid) 
-	{
-		SymbolCol=\"Lofar_device_invalid\";
-  } else {
-		SymbolCol=\"Lofar_device_active\";	  
-  }
-	setValue(\"ActiveSignal\", \"backCol\", SymbolCol);
-
-  for(int i=0; i < TableObservations.lineCount; i++)
-  {
-    navPMLunloadPropertySet(\"LOFAR_ObsSW_\" + TableObservations.cellValueRC(i,\"Observation\") + \"_ObsCtrl\");
-  }
-  TableObservations.deleteAllLines();
-  for(int i=1; i<=dynlen(dpv);i++)
-  {
-    TableObservations.appendLine(\"Observation\",dpv[i]);
-    string dpPrefix = \"LOFAR_ObsSW_\" + dpv[i] + \"_ObsCtrl\";
-	
-    navPMLloadPropertySet(dpPrefix);
-		
-    for(int i=0; i<10 && !dpAccessable(dpPrefix);i++)
-    {
-      delay(0,250);
-    }
-
-    dpConnect(\"updateObservationsTableState\",dpPrefix + \".state:_online.._value\");
-    dpConnect(\"updateObservationsTableController\",dpPrefix + \".claimPeriod:_online.._value\",
-						  dpPrefix + \".preparePeriod:_online.._value\",
-						  dpPrefix + \".startTime:_online.._value\",
-						  dpPrefix + \".stopTime:_online.._value\");
-  }
-}
-
-updateObservationsTableState(string dpe, string dpv)
-{
-  string dp = dpSubStr(dpe,DPSUB_DP);
-  for(int i=0; i < TableObservations.lineCount; i++)
-  {
-    if(dp == \"LOFAR_ObsSW_\" + TableObservations.cellValueRC(i,\"Observation\"))
-    {
-      TableObservations.cellValueRC(i,\"Status\",dpv);
-    }
-  }
-}
-
-updateObservationsTableController(string dpe1, string claimPeriod, 
-    				  string dpe2, string preparePeriod, 
-				  string dpe3, string startTime, 
-				  string dpe4, string stopTime)
-{
-  string dp = dpSubStr(dpe1,DPSUB_DP);
-  for(int i=0; i < TableObservations.lineCount; i++)
-  {
-    if(dp == \"LOFAR_ObsSW_\" + TableObservations.cellValueRC(i,\"Observation\") + \"_ObsCtrl\")
-    {
-      TableObservations.cellValueRC(i,\"ClaimPeriod\",claimPeriod);
-      TableObservations.cellValueRC(i,\"PreparePeriod\",preparePeriod);
-      TableObservations.cellValueRC(i,\"StartTime\",startTime);
-      TableObservations.cellValueRC(i,\"StopTime\",stopTime);
-    }
-  }
-}" 0
- 2
-"CBRef""1"
-"EClose"E
-""
-DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
-LAYER, 0 
-1
-LANG:1 6 Layer1
-2 0
-"Text1"
-""
-1 80 22 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
-1 0 0 0 0 0
-EE E
-0
-1
-LANG:1 0 
-1
-"dashclr"N "_Transparent"
-E E 0 1 1 0 1 E U  0 E 82 24 475 56
-0 2 0 "s" 0 0 0 192 0 0  82 24
- 1
-1
-LANG:1 105 -microsoft windows-Arial-bold-r-normal-*-*-240-100-100-*-*-iso8859-1|-27,0,0,0,700,0,0,0,0,3,2,1,34,Arial
-0 ""
-1
-LANG:1 28 Active Observations Overview
-4 12
-"Line1"
-""
-1 10 70 E E E 1 E 1 E N "_WindowText" E N {255,255,255} E E
- E E
-13 0 0 0 0 0
-EE E
-0
-1
-LANG:1 0 
-1
-"dashclr"N "_Transparent"
-E E 0 3 2 0 1 E  940 70 10 70
-7 22
-"ActiveSignal"
-""
-1 52 39 E E E 1 E 1 E N "_WindowText" E N "Lofar_device_inactive" E E
- E E
-22 0 0 0 0 0
-EE E
-0
-1
-LANG:1 0 
-1
-"dashclr"N "_Transparent"
-E E 0 1 1 0 1 E U  1 E 52 39 15 15
-25 20
-"TableObservations"
-""
-1 0 -1385 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
-20 0 0 0 0 0
-EE E
-0
-1
-LANG:1 0 
-0
-1
-LANG:1 106 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-1|-13,0,0,0,400,0,0,0,0,0,0,0,0,Arial
-0 ""
-8 78 942 732
-E "main(int row, string column, string value)
-{
-  DebugTN(\"ColumnCommand\",row,column,value);
-	string dp = \"LOFAR_ObsSW_\" + TableObservations.cellValueRC(row,\"Observation\");
-	DebugTN(\"ColumnCommand: trigger Navigator with datapoint=\",dp);
-	navConfigTriggerNavigatorRefreshWithDP(dp);
-}" 0
- 1 0 1 6 1 "Observation" 0 1 0 "s" 1
-LANG:1 11 Observation
-E1
-LANG:1 0 
- 225 "ClaimPeriod" 0 1 0 "s" 1
-LANG:1 12 Claim period
-E1
-LANG:1 0 
- 100 "PreparePeriod" 0 1 0 "s" 1
-LANG:1 14 Prepare period
-E1
-LANG:1 0 
- 100 "StartTime" 0 1 0 "s" 1
-LANG:1 10 Start time
-E1
-LANG:1 0 
- 150 "StopTime" 0 1 0 "s" 1
-LANG:1 9 Stop time
-E1
-LANG:1 0 
- 150 "Status" 0 1 0 "s" 1
-LANG:1 6 Status
-E1
-LANG:1 0 
- 180 16 16 "" 1 1
-LANG:1 2 #1
-8 30 1
-LANG:1 106 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-1|-13,0,0,0,400,0,0,0,0,0,0,0,0,Arial
-0 ""
-0 2 1 3 0
-1 0
-0
-LAYER, 1 
-1
-LANG:1 6 Layer2
-0
-LAYER, 2 
-1
-LANG:1 6 Layer3
-0
-LAYER, 3 
-1
-LANG:1 6 Layer4
-0
-LAYER, 4 
-1
-LANG:1 6 Layer5
-0
-LAYER, 5 
-1
-LANG:1 6 Layer6
-0
-LAYER, 6 
-1
-LANG:1 6 Layer7
-0
-LAYER, 7 
-1
-LANG:1 6 Layer8
-0
-0
\ No newline at end of file
diff --git a/MAC/Navigator/panels/nav_usr/CS1/Station_RSPBoard-CS1.pnl b/MAC/Navigator/panels/nav_usr/CS1/Station_RSPBoard-CS1.pnl
index dc58bceebd6857bb81122a2aaed739a73cecd135..87c18ab92c4cb856f78cbb85c0f5cc44aff31266 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/Station_RSPBoard-CS1.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/Station_RSPBoard-CS1.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 7 Subrack
-PANEL,368 116 986 776 N "_3DFace" 2
+PANEL,245 109 986 776 N "_3DFace" 2
 "$datapoint"
 "$referenceDatapoint"
 E"//main()
@@ -874,7 +874,7 @@ LANG:1 10 (Ethernet)
 4 685
 "Line60"
 ""
-1 50 193 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+1 60 193 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
  E E
 344 0 0 0 0 0
 EE E
@@ -883,7 +883,7 @@ EE E
 LANG:1 0 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 0 1 E  770 193 50 193
+E E 0 1 1 0 1 E  160 193 60 193
 4 686
 "Line61"
 ""
@@ -944,6 +944,45 @@ E E 0 1 1 0 1 E  110 219 110 193
 0
 1 693 39 "" 3
 0
+4 694
+"Line16"
+""
+1 260 193 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+ E E
+351 0 0 0 0 0
+EE E
+0
+1
+LANG:1 0 
+1
+"dashclr"N "_Transparent"
+E E 0 1 1 0 1 E  360 193 260 193
+4 695
+"Line20"
+""
+1 460 193 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+ E E
+352 0 0 0 0 0
+EE E
+0
+1
+LANG:1 0 
+1
+"dashclr"N "_Transparent"
+E E 0 1 1 0 1 E  560 193 460 193
+4 696
+"Line25"
+""
+1 660 193 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+ E E
+353 0 0 0 0 0
+EE E
+0
+1
+LANG:1 0 
+1
+"dashclr"N "_Transparent"
+E E 0 1 1 0 1 E  760 193 660 193
 1 289 11 "" 12
 0
 1 290 11 "" 13
diff --git a/MAC/Navigator/panels/nav_usr/CS1/Station_Subrack-CS1.pnl b/MAC/Navigator/panels/nav_usr/CS1/Station_Subrack-CS1.pnl
index 19b491fc37a262e0f6d7c62281b8b8b8f1f6ccce..2ac3fe706e55fa2d17067e6d90c768d3ae355cd4 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/Station_Subrack-CS1.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/Station_Subrack-CS1.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 14 Subrack Detail
-PANEL,450 141 951 694 N "_3DFace" 2
+PANEL,245 109 951 694 N "_3DFace" 2
 "$datapoint"
 "$referenceDatapoint"
 "main()
diff --git a/MAC/Navigator/panels/nav_usr/CS1/controller-overview.pnl b/MAC/Navigator/panels/nav_usr/CS1/controller-overview.pnl
index 1b3a74ab42d85a5189457241f368d37e33f8dec4..5c0bf9883d8d13653339d6770c1b907bb4db43b5 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/controller-overview.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/controller-overview.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 13 ObsCtrl_State
-PANEL,508 105 950 741 N "_3DFace" 1
+PANEL,248 199 950 741 N "_3DFace" 1
 "$datapoint"
 "main()
 {
@@ -51,7 +51,7 @@ showLogging()
 {
 	//DebugTN(\"startLogging\");
 	
-	string dpLog = $datapoint+\".logmsg\";
+	string dpLog = $datapoint+\".logMsg\";
 
 	string systemName = dpSubStr(dpLog,DPSUB_SYS);
   string bareDP     = dpSubStr(dpLog,DPSUB_DP_EL_CONF_DET_ATT);
@@ -308,7 +308,7 @@ LANG:1 107 -microsoft windows-Arial-normal-r-normal-*-*-140-100-100-*-*-iso8859-
 0 ""
 1
 LANG:1 17 <ObservationName>
-1 91 8 "" 1
+1 90 8 "" 1
 0
 1 55 4 "" 2
 0
@@ -411,7 +411,7 @@ E E 0 1 1 0 1 E U  0 E 19 37 78 58
 LANG:1 105 -microsoft windows-Arial-bold-r-normal-*-*-120-100-100-*-*-iso8859-1|-13,0,0,0,700,0,0,0,0,3,2,1,34,Arial
 0 ""
 1
-LANG:1 7 State :
+LANG:1 8 Action :
 2 35
 "txt_Action"
 ""
diff --git a/MAC/Navigator/panels/nav_usr/CS1/cs1-main.pnl b/MAC/Navigator/panels/nav_usr/CS1/cs1-main.pnl
index 328494289177cdf4152ed8d4177a70a133b988d6..9ed31adc8c0c91855779d090d54f515043b09af4 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/cs1-main.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/cs1-main.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,426 108 950 741 N "_3DFace" 2
+PANEL,319 356 950 741 N "_3DFace" 2
 "$datapoint"
 "$referenceDatapoint"
 "main()
@@ -13,7 +13,7 @@ PANEL,426 108 950 741 N "_3DFace" 2
 	
 	// select all states from Observations online (ObsCtrl) && offline(OfflineCtrl)
 	
-	string offlineQuery = \"SELECT '_online.._value' FROM '{LOFAR_ObsSW_Observation*_OfflineCtrl.state,LOFAR_ObsSW_Observation*_OfflineCtrl.error}'\";
+	string offlineQuery = \"SELECT '_online.._value' FROM '{LOFAR_ObsSW_Observation*_OfflineCtrl.currentAction,LOFAR_ObsSW_Observation*_OfflineCtrl.error}'\";
 	
 	// connect to MACScheduler.activeObservations, this contains a list with all active observations.
 	// The same will be done for online and offline observation later. For now we will get the offline 
@@ -73,12 +73,12 @@ updateObservationsTable(string dpe, dyn_string dpv)
       delay(0,250);
     }
 
-    dpConnect(\"updateObservationsTableValues\",dpPrefix + \".state:_online.._value\",
+    dpConnect(\"updateObservationsTableValues\",dpPrefix + \".currentAction:_online.._value\",
                                               dpPrefix + \".error:_online.._value\");
   }
 }
 
-updateObservationsTableValues(string dp1, string state,
+updateObservationsTableValues(string dp1, string action,
                               string dp2, string error)                              
 {
   string dp = dpSubStr(dp1,DPSUB_DP);
@@ -87,7 +87,7 @@ updateObservationsTableValues(string dp1, string state,
   {
     if(dp == \"LOFAR_ObsSW_\" + Observation_table.cellValueRC(i,\"Observation\")+\"_ObsCtrl\")
     {
-      Observation_table.cellValueRC(i,\"Status\",state);
+      Observation_table.cellValueRC(i,\"Action\",action);
       Observation_table.cellValueRC(i,\"Error\",error);
     }
   }
@@ -103,14 +103,14 @@ updateOfflineTable(string ident, dyn_dyn_anytype tab)
 	 	for (int z = 2; z <= dynlen(tab); z++)
 		{
 			string obsName = getObsName(tab[z]);
-		  string state=\"\";
+		  string action=\"\";
   		string error=\"\";
 			// Determine if state or error callback
 			// update the table , if obsname is available it will be updated, 
 			//otherwise a new line will be appended
-			if (getResultType(tab[z]) == \"state\" ) { 	
-				state = getResultValue(tab[z]); 
-				Offline_table.updateLine(1,\"Offline\",obsName,\"Status\",state);
+			if (getResultType(tab[z]) == \"currentAction\" ) { 	
+				action = getResultValue(tab[z]); 
+				Offline_table.updateLine(1,\"Offline\",obsName,\"Action\",action);
 			} else if (getResultType(tab[z]) == \"error\") {
 				error = getResultValue(tab[z]);
 				Offline_table.updateLine(1,\"Offline\",obsName,\"Error\",error);
@@ -125,6 +125,7 @@ updateOfflineTable(string ident, dyn_dyn_anytype tab)
 "CBRef""1"
 "EClose"E
 ""
+1
 DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
 LAYER, 0 
 1
@@ -421,7 +422,7 @@ E E 0 5 1 0 1 E  450 240 450 114
 0
 1 201 12 "" 12
 0
-1 202 12 "0" 1
+1 202 12 "1" 1
 0
 25 157
 "Observation_table"
@@ -449,8 +450,8 @@ E "main(int row, string column, string value)
 LANG:1 11 Observation
 E1
 LANG:1 0 
- 250 "Status" 0 1 0 "s" 1
-LANG:1 6 Status
+ 250 "Action" 0 1 0 "s" 1
+LANG:1 6 Action
 E1
 LANG:1 0 
  150 "Error" 0 1 0 "s" 1
@@ -483,8 +484,8 @@ E E 1 0 1 3 1 "Offline" 0 1 0 "s" 1
 LANG:1 7 Offline
 E1
 LANG:1 0 
- 250 "Status" 0 1 0 "s" 1
-LANG:1 6 Status
+ 250 "Action" 0 1 0 "s" 1
+LANG:1 6 Action
 E1
 LANG:1 0 
  150 "Error" 0 1 0 "s" 1
diff --git a/MAC/Navigator/panels/nav_usr/CS1/observation-details-imaging.pnl b/MAC/Navigator/panels/nav_usr/CS1/observation-details-imaging.pnl
index 73589250ae590cfbb124b9f64e2d5785e4e37e69..78bc353286b71d9912c0813823a540719aa744ca 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/observation-details-imaging.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/observation-details-imaging.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,388 83 950 741 N "_3DFace" 1
+PANEL,403 87 950 741 N "_3DFace" 1
 "$datapoint"
 "main()
 {
diff --git a/MAC/Navigator/panels/nav_usr/CS1/observation-overview.pnl b/MAC/Navigator/panels/nav_usr/CS1/observation-overview.pnl
index f94fc00cd92926d40c5eaa1a91fcf6488bd51eb2..a8cb30273a0f86eef30c2450f10aea21d520cba9 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/observation-overview.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/observation-overview.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,422 105 959 765 N "_3DFace" 1
+PANEL,245 109 959 765 N "_3DFace" 1
 "$datapoint"
 EEE E E 1 0 0 0  10 10
 "" 0 1
@@ -25,14 +25,14 @@ EE E
 LANG:1 0 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 0 1 E U  0 E 12 12 348 48
+E E 0 1 1 0 1 E U  0 E 12 12 408 38
 0 2 0 "s" 0 0 0 64 0 0  12 12
  1
 1
 LANG:1 105 -microsoft windows-Arial-bold-r-normal-*-*-220-100-100-*-*-iso8859-1|-24,0,0,0,700,0,0,0,0,3,2,1,34,Arial
 0 ""
 1
-LANG:1 19 Observation Details
+LANG:1 31 Observation  Controller Details
 1 1 0 "" 0
 0
 1 2 0 "" 1
diff --git a/MAC/Navigator/panels/nav_usr/CS1/software-overview.pnl b/MAC/Navigator/panels/nav_usr/CS1/software-overview.pnl
index 8ba0911bd440dee5a6fdde7f47c193aed7905c9d..a6dbd5f6a7741a501aa97b632a523e4751b93005 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/software-overview.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/software-overview.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,438 111 1026 741 N "_3DFace" 1
+PANEL,245 109 1026 741 N "_3DFace" 1
 "$datapoint"
 "main()
 {
@@ -79,7 +79,7 @@ updateObservationsTableValues(string dp1, string action,
     if(dp == \"LOFAR_ObsSW_\" + TableObservations.cellValueRC(i,\"Observation\")+\"_ObsCtrl\")
     {
       //DebugTN(\"Bingo, set values\");
-      TableObservations.cellValueRC(i,\"Status\",state);
+      TableObservations.cellValueRC(i,\"Action\",action);
       TableObservations.cellValueRC(i,\"ClaimPeriod\",dpValToString(dp2,claimPeriod,TRUE));
       TableObservations.cellValueRC(i,\"PreparePeriod\",dpValToString(dp3,preparePeriod,TRUE) );
       TableObservations.cellValueRC(i,\"StartTime\",startTime);
@@ -92,24 +92,24 @@ showLogging()
 {
 	string dpLog;
   if(radio_logging.number == 1) {
-	  dpLog = \"LOFAR_PermSW_CQN.logmsg\";
+	  dpLog = \"LOFAR_PermSW_CQN.logMsg\";
 	} else if(radio_logging.number == 2) {
-	  dpLog = \"LOFAR_PermSW_SHM.logmsg\";
+	  dpLog = \"LOFAR_PermSW_SHM.logMsg\";
 	} else {
-	  dpLog = \"LOFAR_PermSW_MACScheduler.logmsg\";
+	  dpLog = \"LOFAR_PermSW_MACScheduler.logMsg\";
 	}	
 	// disconnect from logging
 	if(dpExists(\"LOFAR_PermSW_CQN\") && connected == \"CQN\")
 	{
-		dpDisconnect(\"updateLogging\",\"LOFAR_PermSW_CQN.logmsg\");
+		dpDisconnect(\"updateLogging\",\"LOFAR_PermSW_CQN.logMsg\");
 	}
 	if(dpExists(\"LOFAR_PermSW_SHM\") && connected == \"SHM\")
 	{
-		dpDisconnect(\"updateLogging\",\"LOFAR_PermSW_SHM.logmsg\");
+		dpDisconnect(\"updateLogging\",\"LOFAR_PermSW_SHM.logMsg\");
 	}
 	if(dpExists(\"LOFAR_PermSW_MACScheduler\") && connected == \"MAC\")
 	{
-		dpDisconnect(\"updateLogging\",\"LOFAR_PermSW_MACScheduler.logmsg\");
+		dpDisconnect(\"updateLogging\",\"LOFAR_PermSW_MACScheduler.logMsg\");
 	}
  
 	table_logging.deleteAllLines();
@@ -149,7 +149,7 @@ showLogging()
 	
 updateLogging(string dpe, string dpv)
 {
-  //DebugTN(\"Logmsg: \", dpv);
+  //DebugTN(\"LogMsg: \", dpv);
 	addLogMessage(dpv);
 }
 
@@ -345,8 +345,8 @@ LANG:1 0
 LANG:1 9 Stop time
 E1
 LANG:1 0 
- 150 "Status" 0 1 0 "s" 1
-LANG:1 6 Status
+ 150 "Action" 0 1 0 "s" 1
+LANG:1 6 Action
 E1
 LANG:1 0 
  187 16 16 "" 1 1
diff --git a/MAC/Navigator/panels/nav_usr/CS1/station-overview.pnl b/MAC/Navigator/panels/nav_usr/CS1/station-overview.pnl
index b4b2dd22da5d56ea8fc6ad318ea9d6c2ea65dd64..59ec4f0118c055cf92bae9d5739ba73c301df150 100644
--- a/MAC/Navigator/panels/nav_usr/CS1/station-overview.pnl
+++ b/MAC/Navigator/panels/nav_usr/CS1/station-overview.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,438 111 950 741 N "_3DFace" 1
+PANEL,251 109 950 741 N "_3DFace" 1
 "$datapoint"
 "main()
 {
@@ -46,10 +46,10 @@ updateStationsTable(string identifier, dyn_dyn_anytype result)
 		TableStations.deleteAllLines();
 	  for(int i=2; i<=dynlen(result);i++)
 	  {
-	  	string tempName = dpSubStr(result[i][1],DPSUB_DP);
+	    string tempName = dpSubStr(result[i][1],DPSUB_DP);
 	  	string stationName = substr(tempName,strlen(dpSubStr($datapoint,DPSUB_DP))+1);
 			TableStations.appendLine(\"Station\",stationName);
-			TableStations.updateLine(1,\"Station\",stationName,\"Status\",result[i][2]);
+			TableStations.updateLine(1,\"Station\",stationName,\"Status\",getStateName(result[i][2]));
 		}
 	}
 }
diff --git a/MAC/Navigator/panels/objects/nav_usr/CEP/CEPIcon.pnl b/MAC/Navigator/panels/objects/nav_usr/CEP/CEPIcon.pnl
index 62af9134440d5c40b1bb3dd3e5046d95f0bb410a..576c07944fb13b8e844e1c5d4aca93365b537509 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CEP/CEPIcon.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CEP/CEPIcon.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 7 CepIcon
-PANEL,426 108 433 325 N "_3DFace" 2
+PANEL,248 199 433 325 N "_3DFace" 2
 "$datapoint"
 "$referenceDatapoint"
 "main()
@@ -55,7 +55,7 @@ E "main()
 7 1
 "Ellipse1"
 ""
-1 38.2143 54.0429 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 38.2143 54.0429 E E E 1 E 1 E N "_3DText" E N {255,255,0} E E
  E E
 2 0 0 0 0 0
 EE E
@@ -72,7 +72,7 @@ E "main()
 6 2
 "Border10"
 ""
-1 45 73 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 45 73 E E E 1 E 1 E N "_3DText" E N {255,0,0} E E
  E E
 3 0 0 0 0 0
 EE E
@@ -89,7 +89,7 @@ E "main()
 6 3
 "Border11"
 ""
-1 49 73 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 49 73 E E E 1 E 1 E N "_3DText" E N {153,0,153} E E
  E E
 4 0 0 0 0 0
 EE E
@@ -106,7 +106,7 @@ E "main()
 6 4
 "Border12"
 ""
-1 59 73 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 59 73 E E E 1 E 1 E N "_3DText" E N {255,0,0} E E
  E E
 5 0 0 0 0 0
 EE E
@@ -225,7 +225,7 @@ E "main()
 6 11
 "Border21"
 ""
-1 77 73 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 77 73 E E E 1 E 1 E N "_3DText" E N {153,0,153} E E
  E E
 12 0 0 0 0 0
 EE E
@@ -242,7 +242,7 @@ E "main()
 6 12
 "Border22"
 ""
-1 38 81 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 38 81 E E E 1 E 1 E N "_3DText" E N {255,0,0} E E
  E E
 13 0 0 0 0 0
 EE E
@@ -259,7 +259,7 @@ E "main()
 7 13
 "Ellipse2"
 ""
-1 58.1 27 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 58.1 27 E E E 1 E 1 E N "_3DText" E N {255,255,0} E E
  E E
 14 0 0 0 0 0
 EE E
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/Beam_ctrl_details.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/Beam_ctrl_details.pnl
index ca4bbac2ec54c26802a066219df8e90b007894f3..63746ca6f004bcc9992263a7e9cbbc37a90cb5a6 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/Beam_ctrl_details.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/Beam_ctrl_details.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,423 303 950 286 N "_3DFace" 1
+PANEL,245 109 1057 342 N "_3DFace" 1
 "$datapoint"
 "main()
 {
@@ -78,7 +78,8 @@ updateBeamCtrlTable(string dpe, dyn_dyn_anytype tab)
                                             dpPrefix + \".angle1:_online.._value\",
                                             dpPrefix + \".angle2:_online.._value\",
                                             dpPrefix + \".angleTimes:_online.._value\",
-                                            dpPrefix + \".beamID:_online.._value\");
+                                            dpPrefix + \".beamID:_online.._value\",
+                                            dpPrefix + \".state:_online.._invalid\");
 		}
 	}
 }
@@ -91,13 +92,22 @@ updateBeamCtrlTableValues(string dp1, int state,
                           string dp6, string angle1,
                           string dp7, string angle2,
                           string dp8, string angleTimes,
-                          string dp9, int beamID)                              
+                          string dp9, int beamID,
+                          string dp10, bool invalid)                              
 {
+  string stateCol=\"\";
   
-  for(int i=0; i < beamControlTable.lineCount; i++)
+  if (invalid) 
+	{
+		stateCol=\"Lofar_invalid\";
+  } else {
+		stateCol=getStateColor(state);	  
+  }  
+    for(int i=0; i < beamControlTable.lineCount; i++)
   {
     if(getObsName(dp1) == beamControlTable.cellValueRC(i,\"Observation\"))
     {
+      beamControlTable.cellBackColRC(i, \"Status\", stateCol);
       beamControlTable.cellValueRC(i,\"SubbandList\",subbandList);
       beamControlTable.cellValueRC(i,\"BeamletList\",beamletList);
       beamControlTable.cellValueRC(i,\"SubArray\",subArray);
@@ -180,19 +190,23 @@ E "main(int row, string column, string value)
 	DebugTN(\"ColumnCommand: trigger Navigator with datapoint=\",dp);
 	navConfigTriggerNavigatorRefreshWithDP(dp);
 }" 0
- 1 0 1 9 1 "Connected" 0 1 0 "s" 1
-LANG:1 0 
+ 1 0 1 10 1 "Status" 0 1 0 "s" 1
+LANG:1 1 S
 E1
-LANG:1 0 
- 16 "Observation" 0 1 0 "s" 1
+LANG:1 6 Status
+ 20 "Connected" 0 1 0 "s" 1
+LANG:1 1 C
+E1
+LANG:1 10 Connected?
+ 20 "Observation" 0 1 0 "s" 1
 LANG:1 11 Observation
 E1
 LANG:1 0 
  200 "BeamID" 0 1 0 "s" 1
-LANG:1 6 BeamID
+LANG:1 4 B-ID
 E1
-LANG:1 0 
- 58 "Angle1" 0 1 0 "s" 1
+LANG:1 6 BeamID
+ 40 "Angle1" 0 1 0 "s" 1
 LANG:1 7 Angle 1
 E1
 LANG:1 0 
@@ -216,7 +230,7 @@ LANG:1 0
 LANG:1 11 BeamletList
 E1
 LANG:1 0 
- 142 16 16 "" 1 1
+ 135 16 16 "" 1 1
 LANG:1 2 #1
 8 30 1
 LANG:1 106 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-1|-13,0,0,0,400,0,0,0,0,0,0,0,0,Arial
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_begin.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_begin.pnl
index 6927ca6813ec02ad8750a811e8453a5fe83dccb5..ba3a027e7ad03c20dda50598060200afe927f6de 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_begin.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_begin.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,426 108 280 210 N "_3DFace" 3
+PANEL,443 109 280 210 N "_3DFace" 3
 "$AppName"
 "$CEPnode"
 "$datapoint"
@@ -12,9 +12,9 @@ PANEL,426 108 280 210 N "_3DFace" 3
 	dyn_string dpElements = splitDatapointPath($datapoint);
 	string nodeDP = dpSubStr($datapoint,DPSUB_SYS) + \"LOFAR_CEP_\" + dpElements[dynlen(dpElements)] + \"_\" + $CEPnode;
 	DebugTN(\"monitoring CEP node\",nodeDP);
-  if(dpAccessable(nodeDP + \".state:_online.._value\"))
+  if(dpAccessable(nodeDP + \".currentAction:_online.._value\"))
   {
-    dpConnect(\"fillTextStatus\", nodeDP + \".state\");
+    dpConnect(\"fillTextStatus\", nodeDP + \".currentAction\");
   }
   rect.toolTipText = nodeDP;
 }
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_middle.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_middle.pnl
index f610ed4b6fca1209dd7a5bbd9483df74ecfef763..65e604bfc32561334176c1883c250501b95eaacb 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_middle.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_offline_middle.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,426 108 280 210 N "_3DFace" 3
+PANEL,443 109 280 210 N "_3DFace" 3
 "$AppName"
 "$CEPnode"
 "$datapoint"
@@ -12,9 +12,9 @@ PANEL,426 108 280 210 N "_3DFace" 3
 	dyn_string dpElements = splitDatapointPath($datapoint);
 	string nodeDP = dpSubStr($datapoint,DPSUB_SYS) + \"LOFAR_CEP_\" + dpElements[dynlen(dpElements)] + \"_\" + $CEPnode;
 	DebugTN(\"monitoring CEP node\",nodeDP);
-  if(dpAccessable(nodeDP + \".state:_online.._value\"))
+  if(dpAccessable(nodeDP + \".currentAction:_online.._value\"))
   {
-    dpConnect(\"fillTextStatus\", nodeDP + \".state\");
+    dpConnect(\"fillTextStatus\", nodeDP + \".currentAction\");
   }
   rect.toolTipText = nodeDP;
 }
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_begin.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_begin.pnl
index 4be338021facc3596cdf2cd2dab7355f7abb6a35..49a53d23c4df61e35076d0b97081f9de7d292eb3 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_begin.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_begin.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,426 108 280 210 N "_3DFace" 3
+PANEL,430 119 280 210 N "_3DFace" 3
 "$AppName"
 "$CEPnode"
 "$datapoint"
@@ -12,9 +12,9 @@ PANEL,426 108 280 210 N "_3DFace" 3
 	dyn_string dpElements = splitDatapointPath($datapoint);
 	string nodeDP = dpSubStr($datapoint,DPSUB_SYS) + \"LOFAR_CEP_\" + dpElements[dynlen(dpElements)] + \"_\" + $CEPnode;
 	DebugTN(\"monitoring CEP node\",nodeDP);
-  if(dpAccessable(nodeDP + \".state:_online.._value\"))
+  if(dpAccessable(nodeDP + \".currentAction:_online.._value\"))
   {
-    dpConnect(\"fillTextStatus\", nodeDP + \".state\");
+    dpConnect(\"fillTextStatus\", nodeDP + \".currentAction\");
   }
   rect.toolTipText = nodeDP;
 }
@@ -91,11 +91,7 @@ EE E
 LANG:1 0 
 1
 "dashclr"N "_Transparent"
-"main()
-{
-
-}" 0
- E 0 1 1 0 1 E U  0 E 22 16 192 32
+E E 0 1 1 0 1 E U  0 E 22 16 192 32
 0 2 0 "s" 0 0 0 65 0 0  22 16
  1
 1
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_end.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_end.pnl
index 5eecc30ba1384e685acd6ae811f3bf126a7e63f7..0ae2015f97516690090e15f0b45a4cc486f6fdbd 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_end.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_end.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,426 108 280 210 N "_3DFace" 3
+PANEL,430 119 280 210 N "_3DFace" 3
 "$AppName"
 "$CEPnode"
 "$datapoint"
@@ -12,9 +12,9 @@ PANEL,426 108 280 210 N "_3DFace" 3
 	dyn_string dpElements = splitDatapointPath($datapoint);
 	string nodeDP = dpSubStr($datapoint,DPSUB_SYS) + \"LOFAR_CEP_\" + dpElements[dynlen(dpElements)] + \"_\" + $CEPnode;
 	DebugTN(\"monitoring CEP node\",nodeDP);
-  if(dpAccessable(nodeDP + \".state:_online.._value\"))
+  if(dpAccessable(nodeDP + \".currentAction:_online.._value\"))
   {
-    dpConnect(\"fillTextStatus\", nodeDP + \".state\");
+    dpConnect(\"fillTextStatus\", nodeDP + \".currentAction\");
   }
   rect.toolTipText = nodeDP;
 }
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_middle.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_middle.pnl
index 67fdb1348c784bbe3f8c2e056bb2242c4938f315..76e5f2e246951e9c3b907b946938a5772ec81fd3 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_middle.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/CEP_app_online_middle.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,426 108 280 210 N "_3DFace" 3
+PANEL,430 119 280 210 N "_3DFace" 3
 "$AppName"
 "$CEPnode"
 "$datapoint"
@@ -12,9 +12,9 @@ PANEL,426 108 280 210 N "_3DFace" 3
 	dyn_string dpElements = splitDatapointPath($datapoint);
 	string nodeDP = dpSubStr($datapoint,DPSUB_SYS) + \"LOFAR_CEP_\" + dpElements[dynlen(dpElements)] + \"_\" + $CEPnode;
 	DebugTN(\"monitoring CEP node\",nodeDP);
-  if(dpAccessable(nodeDP + \".state:_online.._value\"))
+  if(dpAccessable(nodeDP + \".currentAction:_online.._value\"))
   {
-    dpConnect(\"fillTextStatus\", nodeDP + \".state\");
+    dpConnect(\"fillTextStatus\", nodeDP + \".currentAction\");
   }
   rect.toolTipText = nodeDP;
 }
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/Cal_ctrl_details.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/Cal_ctrl_details.pnl
index 08a73eb7ea5b18bab1c2cc32f17c239c8707b6d2..42fe23f90bbeb265eb6f0be054e986dfe5be0cd3 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/Cal_ctrl_details.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/Cal_ctrl_details.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,423 296 950 286 N "_3DFace" 1
+PANEL,315 109 1145 286 N "_3DFace" 1
 "$datapoint"
 "main()
 {
@@ -80,7 +80,8 @@ updateCalCtrlTable(string dpe, dyn_dyn_anytype tab)
                                            dpPrefix + \".antennaArray:_online.._value\",
                                            dpPrefix + \".filter:_online.._value\",
                                            dpPrefix + \".nyquistzone:_online.._value\",
-                                           dpPrefix + \".rcus:_online.._value\");
+                                           dpPrefix + \".rcus:_online.._value\",
+                                           dpPrefix + \".state:_online.._invalid\");
 		}
 	}
 }
@@ -91,13 +92,22 @@ updateCalCtrlTableValues(string dp1, int state,
                          string dp4, string antennaArray,
                          string dp5, string filter,
                          string dp6, int nyquistzone,
-                         string dp7, string rcus)                              
+                         string dp7, string rcus,
+                         string dp8, bool invalid)                              
 {
+  string stateCol=\"\";
+  if (invalid) 
+	{
+		stateCol=\"Lofar_invalid\";
+  } else {
+		stateCol=getStateColor(state);	  
+  }  
   
   for(int i=0; i < calControlTable.lineCount; i++)
   {
     if(getObsName(dp1) == calControlTable.cellValueRC(i,\"Observation\"))
     {
+      calControlTable.cellBackColRC(i, \"Status\", stateCol);
       calControlTable.cellValueRC(i,\"AntennaArray\",antennaArray);
       calControlTable.cellValueRC(i,\"Filter\",filter);
       calControlTable.cellValueRC(i,\"NyquistZone\",nyquistzone);
@@ -173,15 +183,19 @@ LANG:1 106 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-
 17 45 933 272
 E "main(int row, string column, string value)
 {
-	string dp = \"LOFAR_ObsSW_\" + TableObservations.cellValueRC(row,\"Observation\")+\"_ObsCtrl\";
+	string dp = \"LOFAR_ObsSW_\" + calControlTable.cellValueRC(row,\"Observation\")+\"_CalCtrl\";
 	DebugTN(\"ColumnCommand: trigger Navigator with datapoint=\",dp);
 	navConfigTriggerNavigatorRefreshWithDP(dp);
 }" 0
- 1 0 1 6 1 "Connected" 0 1 0 "s" 1
-LANG:1 2 #1
+ 1 0 1 7 1 "Status" 0 1 0 "s" 1
+LANG:1 1 S
 E1
-LANG:1 0 
- 16 "Observation" 0 1 0 "s" 1
+LANG:1 6 Status
+ 20 "Connected" 0 1 0 "s" 1
+LANG:1 1 C
+E1
+LANG:1 9 Connected
+ 20 "Observation" 0 1 0 "s" 1
 LANG:1 11 Observation
 E1
 LANG:1 0 
@@ -194,14 +208,14 @@ LANG:1 6 Filter
 E1
 LANG:1 0 
  100 "NyquistZone" 0 1 0 "s" 1
-LANG:1 11 NyquistZone
+LANG:1 7 Nyquist
 E1
-LANG:1 0 
- 85 "RCUs" 0 1 0 "s" 1
+LANG:1 11 NyquistZone
+ 65 "RCUs" 0 1 0 "s" 1
 LANG:1 4 RCUs
 E1
 LANG:1 0 
- 167 16 16 "" 1 1
+ 165 16 16 "" 1 1
 LANG:1 2 #1
 8 30 1
 LANG:1 106 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-1|-13,0,0,0,400,0,0,0,0,0,0,0,0,Arial
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_OTDB_status_small.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_OTDB_status_small.pnl
index f8b157b4ac67540e6fa3eb0e15947fddd83992b9..b9a99444a32ba27dcb91c6385874c38f4b39c694 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_OTDB_status_small.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_OTDB_status_small.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,438 111 359 141 N "_3DFace" 0
+PANEL,245 109 359 141 N "_3DFace" 0
 "main()
 {
   // main databasepoint for the MACScheduler
@@ -11,11 +11,6 @@ PANEL,438 111 359 141 N "_3DFace" 0
 	  LOG_ERROR(\"MACSchedulerpoint.OTDB does not exist\");
 	} 
 	
-  // connect for childUpdates
-  showChildState(aDP);
-  // connect for selfUpdates
-  showSelfState(aDP);
-  
   // connect to update the txt fields of this object
   if (dpAccessable(aDP + \".connected\")) {
 	  dpConnect(\"updateInfo\",aDP+\".connected:_online.._value\",
@@ -51,17 +46,17 @@ LAYER, 0
 1
 LANG:1 6 Layer1
 30 0
-"childStateBorder"
+"border_1"
 ""
 1 10 120 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E
  E E
 1 0 0 0 0 0
 EE E
-0
+1
 1
 LANG:1 0 
 0
-E E 0 3 1 0 1 E U  0 E 10 10 310 120
+E E 0 1 1 0 1 E U  0 E 10 10 310 120
 1
 LANG:1 107 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-1|-13,0,0,0,400,0,0,0,0,3,2,1,34,Arial
 0 ""
@@ -127,8 +122,6 @@ LANG:1 107 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-
 0 ""
 1
 LANG:1 10 Last poll:
-1 4 0 "" 1
-0
 14 4
 "txt_OTDBconnected"
 ""
@@ -143,7 +136,7 @@ LANG:1 0
 1
 LANG:1 107 -microsoft windows-Arial-normal-r-normal-*-*-120-100-100-*-*-iso8859-1|-13,0,0,0,400,0,0,0,0,3,2,1,34,Arial
 0 ""
-98 28 242 55
+98 28 302 55
 2 "s" 0 0 0 0 0 0 
 E
 E
@@ -215,8 +208,4 @@ LAYER, 7
 1
 LANG:1 6 Layer8
 0
-3 0 "selfState"
-"objects\\nav_usr\\CS1\\lofar_self_state.pnl" 269 40 T 8 1 0 1  19 -17  
-1
-"$object""OTDB"
 0
\ No newline at end of file
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_status_small.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_status_small.pnl
index f235a1ca4d35a7d9309ca3592cb0debb7cdd43c5..ddd959c88140cf1f32732e2bdedd9353e7d44b1a 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_status_small.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/MACScheduler_status_small.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,596 683 327 112 N "_3DFace" 0
+PANEL,251 109 327 112 N "_3DFace" 0
 "main()
 {
   // main databasepoint for the MACScheduler
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/Software_Icon.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/Software_Icon.pnl
index d1f5c58526a958fc0df4305ef61ae16c23977ce4..71a5fe7ee33d44c8d86514b5ff5a623b6fd8a65f 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/Software_Icon.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/Software_Icon.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 12 SoftwareIcon
-PANEL,426 108 154 186 N "_3DFace" 2
+PANEL,248 199 154 186 N "_3DFace" 2
 "$datapoint"
 "$referenceDatapoint"
 "main()
@@ -88,7 +88,7 @@ E "main()
 6 3
 "Border26"
 ""
-1 68 64 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 68 64 E E E 1 E 1 E N "_3DText" E N {255,0,255} E E
  E E
 4 0 0 0 0 0
 EE E
@@ -139,7 +139,7 @@ E "main()
 10 6
 "Polyline2"
 ""
-1 52 41 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 52 41 E E E 1 E 1 E N "_3DText" E N {255,255,0} E E
  E E
 7 0 0 0 0 0
 EE E
@@ -177,7 +177,7 @@ E "main()
 10 8
 "Polyline3"
 ""
-1 76 41 E E E 1 E 1 E N "_WindowText" E N {0,0,255} E E
+1 76 41 E E E 1 E 1 E N "_WindowText" E N {255,255,0} E E
  E E
 9 0 0 0 0 0
 EE E
@@ -198,7 +198,7 @@ E "main()
 6 9
 "Border27"
 ""
-1 44 64 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 44 64 E E E 1 E 1 E N "_3DText" E N {255,0,255} E E
  E E
 10 0 0 0 0 0
 EE E
@@ -215,7 +215,7 @@ E "main()
 10 10
 "Polyline4"
 ""
-1 52 71 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 52 71 E E E 1 E 1 E N "_3DText" E N {255,255,0} E E
  E E
 11 0 0 0 0 0
 EE E
@@ -236,7 +236,7 @@ E "main()
 6 11
 "Border28"
 ""
-1 71 92 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 71 92 E E E 1 E 1 E N "_3DText" E N {0,255,0} E E
  E E
 12 0 0 0 0 0
 EE E
@@ -253,7 +253,7 @@ E "main()
 7 12
 "Ellipse5"
 ""
-1 52 91 E E E 1 E 1 E N "_3DText" E N {0,0,255} E E
+1 52 91 E E E 1 E 1 E N "_3DText" E N {255,0,0} E E
  E E
 13 0 0 0 0 0
 EE E
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_details.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_details.pnl
index 51c2a96133863a5ef402d7536a92c8b95c2bac6d..ddcaaab0cc0a5d473e86ef70b5fed43e285043bf 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_details.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_details.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 8 (NoName)
-PANEL,422 105 950 164 N "_3DFace" 1
+PANEL,443 109 950 164 N "_3DFace" 1
 "$datapoint"
 "main()
 {
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_view.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_view.pnl
index cf84a62bcfae6b6419cc3005e4f794e46f7db408..3ae5d922e9080e78127d02a45ae5f2c0b0028574 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_view.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/Station_ctrl_view.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 20 StationCtrlViewPanel
-PANEL,469 105 484 325 N "_3DFace" 2
+PANEL,248 199 484 325 N "_3DFace" 2
 "$Station"
 "$datapoint"
 "main()
@@ -25,55 +25,60 @@ PANEL,469 105 484 325 N "_3DFace" 2
   logThreadID=startThread(\"connectLogDP\");  
   //DebugTN(\"ThreadId: \"+$Station+ \": \"+logThreadID);
 
-	selectedDP=StationCtrlDP+\".logmsg\";
+	selectedDP=StationCtrlDP+\".logMsg\";
 
   	
 	// check if the requiered datapoint for this view are enabled and accessible
 	if (dpAccessable(StationCtrlDP+\".state\") && dpAccessable(StationCtrlDP + \".error\")) {
-	  dpConnect(\"updateStationCtrlTable\",StationCtrlDP + \".state\",
+	  dpConnect(\"updateStationCtrlTable\",StationCtrlDP + \".currentAction\",
  	                             	       StationCtrlDP + \".error\",
- 	                             	       StationCtrlDP + \".state:_online.._invalid\");
+ 	                             	       StationCtrlDP + \".state\",
+ 	                             	       StationCtrlDP + \".currentAction:_online.._invalid\");
  	} else {
     setValue(\"StationCtrlLight\", \"backCol\", \"_dpdoesnotexist\");
-		StationCtrlTable.appendLine(\"Controller\",\"StationCtrl\",\"Status\",\"\",\"Error\",\"\");
+		StationCtrlTable.appendLine(\"Controller\",\"StationCtrl\",\"Action\",\"\",\"Error\",\"\");
   }	
 
 	// check if the requiered datapoint for this view are enabled and accessible
 	if (dpAccessable(DigBoardCtrlDP+\".state\") && dpAccessable(DigBoardCtrlDP + \".error\")) {
-	  dpConnect(\"updateDigBoardCtrlTable\",DigBoardCtrlDP + \".state\",
+	  dpConnect(\"updateDigBoardCtrlTable\",DigBoardCtrlDP + \".currentAction\",
 	                             	        DigBoardCtrlDP + \".error\",
- 	                             	        DigBoardCtrlDP + \".state:_online.._invalid\");
+	                             	        DigBoardCtrlDP + \".state\",
+ 	                             	        DigBoardCtrlDP + \".currentAction:_online.._invalid\");
  	} else {
     setValue(\"DigBoardCtrlLight\", \"backCol\", \"_dpdoesnotexist\");
-		StationCtrlTable.appendLine(\"Controller\",\"DigBoardCtrl\",\"Status\",\"\",\"Error\",\"\");
+		StationCtrlTable.appendLine(\"Controller\",\"DigBoardCtrl\",\"Action\",\"\",\"Error\",\"\");
   }	
 
 	// check if the requiered datapoint for this view are enabled and accessible
 	if (dpAccessable(BeamCtrlDP+\".state\") && dpAccessable(BeamCtrlDP + \".error\")) {
-		dpConnect(\"updateBeamCtrlTable\",BeamCtrlDP + \".state\",
+		dpConnect(\"updateBeamCtrlTable\",BeamCtrlDP + \".currentAction\",
  	                              	  BeamCtrlDP + \".error\",
- 	                              	  BeamCtrlDP + \".state:_online.._invalid\");
+ 	                              	  BeamCtrlDP + \".state\",
+ 	                              	  BeamCtrlDP + \".currentAction:_online.._invalid\");
  	} else {
     setValue(\"BeamCtrlLight\", \"backCol\", \"_dpdoesnotexist\");
-		StationCtrlTable.appendLine(\"Controller\",\"BeamCtrl\",\"Status\",\"\",\"Error\",\"\");
+		StationCtrlTable.appendLine(\"Controller\",\"BeamCtrl\",\"Action\",\"\",\"Error\",\"\");
   }	
 
 	// check if the requiered datapoint for this view are enabled and accessible
 	if (dpAccessable(CalCtrlDP+\".state\") && dpAccessable(CalCtrlDP + \".error\")) {
-		dpConnect(\"updateCalCtrlTable\",CalCtrlDP + \".state\",
+		dpConnect(\"updateCalCtrlTable\",CalCtrlDP + \".currentAction\",
  	                             	   CalCtrlDP + \".error\",
- 	                             	   CalCtrlDP + \".state:_online.._invalid\");
+ 	                             	   CalCtrlDP + \".state\",
+ 	                             	   CalCtrlDP + \".currentAction:_online.._invalid\");
  	} else {
     setValue(\"CalCtrlLight\", \"backCol\", \"_dpdoesnotexist\");
-		StationCtrlTable.appendLine(\"Controller\",\"CalCtrl\",\"Status\",\"\",\"Error\",\"\");
+		StationCtrlTable.appendLine(\"Controller\",\"CalCtrl\",\"Action\",\"\",\"Error\",\"\");
   }	
 
 
 }
 
-updateBeamCtrlTable(string dp1, int state, 
+updateBeamCtrlTable(string dp1, int action, 
                     string dp2, string error,
-                    string dp3, bool invalid)
+                    string dp3, string state,
+                    string dp4, bool invalid)
 {
 	string SymbolCol;
 	if (invalid) 
@@ -83,12 +88,13 @@ updateBeamCtrlTable(string dp1, int state,
 		SymbolCol=getStateColor(state);	  
   }
   setValue(\"BeamCtrlLight\", \"backCol\", SymbolCol);
-	StationCtrlTable.updateLine(1,\"Controller\",\"BeamCtrl\",\"Status\",state,\"Error\",error);
+	StationCtrlTable.updateLine(1,\"Controller\",\"BeamCtrl\",\"Action\",action,\"Error\",error);
 }
 
-updateCalCtrlTable(string dp1, int state, 
+updateCalCtrlTable(string dp1, int action, 
                    string dp2, string error,
-                   string dp3, bool invalid)
+                   string dp3, string state,
+                   string dp4, bool invalid)
 {
 	string SymbolCol;
 	if (invalid) 
@@ -98,12 +104,13 @@ updateCalCtrlTable(string dp1, int state,
 		SymbolCol=getStateColor(state);	  
   }
   setValue(\"CalCtrlLight\", \"backCol\", SymbolCol);
-	StationCtrlTable.updateLine(1,\"Controller\",\"CalCtrl\",\"Status\",state,\"Error\",error);
+	StationCtrlTable.updateLine(1,\"Controller\",\"CalCtrl\",\"Action\",action,\"Error\",error);
 }
 
-updateDigBoardCtrlTable(string dp1, int state, 
-												string dp2, string error,
-												string dp3, bool invalid)
+updateDigBoardCtrlTable(string dp1, int action, 
+                        string dp2, string error,
+                        string dp3, string state,
+                        string dp4, bool invalid)
 {
 	string SymbolCol;
 	if (invalid) 
@@ -113,12 +120,13 @@ updateDigBoardCtrlTable(string dp1, int state,
 		SymbolCol=getStateColor(state);	  
   }
   setValue(\"DigBoardCtrlLight\", \"backCol\", SymbolCol);
-	StationCtrlTable.updateLine(1,\"Controller\",\"DigBoardCtrl\",\"Status\",state,\"Error\",error);
+	StationCtrlTable.updateLine(1,\"Controller\",\"DigBoardCtrl\",\"Action\",action,\"Error\",error);
 }
 
-updateStationCtrlTable(string dp1, int state, 
+updateStationCtrlTable(string dp1, int action, 
                        string dp2, string error,
-                       string dp3, bool invalid)
+                       string dp3, string state,
+                       string dp4, bool invalid)
 {
 	string SymbolCol;
 	if (invalid) 
@@ -128,7 +136,7 @@ updateStationCtrlTable(string dp1, int state,
 		SymbolCol=getStateColor(state);	  
   }
   setValue(\"StationCtrlLight\", \"backCol\", SymbolCol);
-	StationCtrlTable.updateLine(1,\"Controller\",\"StationCtrl\",\"Status\",state,\"Error\",error);
+	StationCtrlTable.updateLine(1,\"Controller\",\"StationCtrl\",\"Action\",action,\"Error\",error);
 }
 " 0
 "main()
@@ -148,7 +156,7 @@ string BeamCtrlDP;
 string CalCtrlDP;
 string DigBoardCtrlDP;
 string StationCtrlDP;
-string selectedDP=StationCtrlDP+\".logmsg\";
+string selectedDP=StationCtrlDP+\".logMsg\";
 string previouslySelectedDP=\"\";
 int logThreadID;
 
@@ -366,7 +374,7 @@ LANG:1 0
 "dashclr"N "_Transparent"
 E "main()
 {
-  selectedDP=StationCtrlDP+\".logmsg\";
+  selectedDP=StationCtrlDP+\".logMsg\";
 }" 0
  0 1 1 0 1 E U  1 E 17 60 5 5
 7 6
@@ -383,7 +391,7 @@ LANG:1 0
 "dashclr"N "_Transparent"
 E "main()
 {
-  selectedDP=DigBoardCtrlDP+\".logmsg\";
+  selectedDP=DigBoardCtrlDP+\".logMsg\";
 }" 0
  0 1 1 0 1 E U  1 E 17 76 5 5
 7 7
@@ -400,7 +408,7 @@ LANG:1 0
 "dashclr"N "_Transparent"
 E "main()
 {
-  selectedDP=BeamCtrlDP+\".logmsg\";
+  selectedDP=BeamCtrlDP+\".logMsg\";
 }" 0
  0 1 1 0 1 E U  1 E 17 92 5 5
 7 8
@@ -417,7 +425,7 @@ LANG:1 0
 "dashclr"N "_Transparent"
 E "main()
 {
-  selectedDP=CalCtrlDP+\".logmsg\";
+  selectedDP=CalCtrlDP+\".logMsg\";
 }" 0
  0 1 1 0 1 E U  1 E 17 108 5 5
 2 10
diff --git a/MAC/Navigator/panels/objects/nav_usr/CS1/Subrack_Clockboard.pnl b/MAC/Navigator/panels/objects/nav_usr/CS1/Subrack_Clockboard.pnl
index c4132fb5e3c6a16750a8e42a1a757aa2993fe29b..fa5b9202968ec0f992bf5a329cc1f4d2eb899d28 100644
--- a/MAC/Navigator/panels/objects/nav_usr/CS1/Subrack_Clockboard.pnl
+++ b/MAC/Navigator/panels/objects/nav_usr/CS1/Subrack_Clockboard.pnl
@@ -1,7 +1,7 @@
 V 10
 1
 LANG:1 17 SubrackClockBoard
-PANEL,252 141 735 210 N "_3DFace" 1
+PANEL,245 109 735 210 N "_3DFace" 1
 "$datapoint"
 "main()
 {
diff --git a/MAC/Navigator/scripts/libs/nav_fw/gcf-util.ctl b/MAC/Navigator/scripts/libs/nav_fw/gcf-util.ctl
index 6bf6c189ea194d18c077c631d89f1b204458460c..b2801bcdbf40661bf808df58b27180dbe34cc40d 100644
--- a/MAC/Navigator/scripts/libs/nav_fw/gcf-util.ctl
+++ b/MAC/Navigator/scripts/libs/nav_fw/gcf-util.ctl
@@ -206,18 +206,22 @@ void loglevelUpdated(string dp, int newLevel)
 }
 
 // helper function to return the colorName based on a state
+// dyn_arrays start count at 1!!!
+
 string getStateColor(int aState) {
-  if (aState < dynlen(stateColor)+1 & aState > 0) {
-    return stateColor[aState];
+  if (aState < dynlen(stateColor) & aState >= 0) {
+    return stateColor[aState+1];
   } else { 
     return "";
   }
 }
 
 // helper function to return the stateName based on a state
+// dyn_arrays start count at 1!!!
+
 string getStateName(int aState) {
-  if (aState < dynlen(stateName)+1 & aState > 0) {
-    return stateName[aState];
+  if (aState < dynlen(stateName) & aState >= 0) {
+    return stateName[aState+1];
   } else { 
     return "";
   }