diff --git a/pypcc2.py b/pypcc2.py
index 79dd46a37b44af10e60c80d700b5cbb6cd68d968..13ddf412889d0084a022019093a358d5c738ed68 100644
--- a/pypcc2.py
+++ b/pypcc2.py
@@ -46,7 +46,7 @@ SW1=I2Cswitch1.I2Cswitch1(I2C.I2C1server)
 SW0=I2Cswitch1.I2Cswitch0(None) #Dummy switch as their is no switch on LTS
 
 RCU=RCU.RCU1(NRCU,I2C.I2C1server,SW1.SetChannel)
-RCU.AddVars(Q1,opcuaserv.AddVarR,opcuaserv.AddVarW)
+RCU.AddVars(Q1,opcuaserv.AddVarR,opcuaserv.AddVarW,opcuaserv.AddVar)
 RCU.AddMethod(Q1,opcuaserv.Addmethod)
 RCU.load() #Load current register values from HW
 
diff --git a/rcu/RCU.py b/rcu/RCU.py
index 9b8d41c4758a5a9f38b3db155ef72d2daa8da0b4..901a1581f24b2dd9c192f6eb5a9c6971328a894e 100644
--- a/rcu/RCU.py
+++ b/rcu/RCU.py
@@ -372,7 +372,9 @@ class RCU1():
          while True:
            item = Q1.get()
            if item is None: break;
+           self.statevar.set_value("busy");
            self.SetVar(item)
+           if Q1.qsize()==0: self.statevar.set_value("ready");
          logging.info("End RCU thread")
 
       RCUthread1 = threading.Thread(target=RCUthread, args=(Q1,))
@@ -386,7 +388,8 @@ class RCU1():
           Inst1=Vars.Instr(Vars.DevType.VarUpdate,Vars.RCU_ADC_lock,96,[0]*96)
           Q1.put(Inst1)
           return 
-    def AddVars(self,Q1,AddVarR,AddVarW):
+    def AddVars(self,Q1,AddVarR,AddVarW,AddVar):
+     self.statevar=AddVar("RCU_state_R","busy")
      for v in Vars.OPC_devvars:
         dim1=Vars.RCU_MPaddr.nI2C*Vars.RCU_MPaddr.nSwitch*v.nVars
         dim2=Vars.RCU_MPaddr.nI2C*Vars.RCU_MPaddr.nSwitch*v.size
diff --git a/rcu/Vars.py b/rcu/Vars.py
index 8857161b55c62f80bae6dc4ec92a57ac1e928868..b16db9e85c324f56cca37b79efaaab888f4b84da 100644
--- a/rcu/Vars.py
+++ b/rcu/Vars.py
@@ -36,13 +36,17 @@ RCU_Dth1_freq=Var2dev("RCU_dth1_freq",RCUmod,DevType.I2Cbb,RCU_Dth1_Freq,32,0,1e
 RCU_dth_freq=VarArray("RCU_dither_freq",3,[RCU_Dth1_freq,RCU_Dth2_freq,RCU_Dth3_freq],RW.ReadWrite,datatype.dfloat,3,None,None)
 
 HBA1_Delay=Var2dev("",RCUmod,DevType.HBA1,RCU_HBA1,5,2,1)
-HBA1_led  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA1,1,0,1)
 HBA2_Delay=Var2dev("",RCUmod,DevType.HBA1,RCU_HBA2,5,2,1)
-HBA2_led  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA2,1,0,1)
 HBA3_Delay=Var2dev("",RCUmod,DevType.HBA1,RCU_HBA3,5,2,1)
+HBA1_led  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA1,1,0,1)
+HBA2_led  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA2,1,0,1)
 HBA3_led  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA3,1,0,1)
+HBA1_pwr  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA1,1,7,1)
+HBA2_pwr  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA2,1,7,1)
+HBA3_pwr  =Var2dev("",RCUmod,DevType.HBA1,RCU_HBA3,1,7,1)
 HBA_Delay=VarArray("HBA_element_beamformer_delays",3,[HBA1_Delay,HBA2_Delay,HBA3_Delay],RW.ReadWrite,datatype.dInt,96,None,None)
 HBA_led  =VarArray("HBA_element_led"  ,3,[HBA1_led  ,HBA2_led  ,HBA3_led  ],RW.ReadWrite,datatype.dInt,96,None,None)
+HBA_pwr  =VarArray("HBA_element_pwr"  ,3,[HBA1_pwr  ,HBA2_pwr  ,HBA3_pwr  ],RW.ReadWrite,datatype.dInt,96,None,None)
 
 #RCU_ID0=Var2dev("",RCUmod,DevType.I2C,RCU_ROM,8,0,1)
 #RCU_ID=VarArray("RCU_ID",1,[RCU_ID0],RW.ReadOnly,datatype.dInt,4,None,None)
@@ -105,7 +109,7 @@ RCU_OUT2=VarArray("RCU_OUT2",3,[RCU_IO1_2,RCU_IO2_2,RCU_IO3_2],RW.ReadOnly,datat
 
 #OPC_devvars=[RCU_mask,Ant_mask,RCU_att,RCU_band,RCU_temp,RCU_pwrd,RCU_LED,RCU_ID,RCU_VER,HBA_Delay,HBA_led]
 #OPC_devvars=[RCU_mask,Ant_mask,RCU_att,RCU_band,RCU_temp,RCU_pwrd,RCU_LED,RCU_ID,RCU_VER,HBA_Delay,HBA_led,RCU_uCV_ID]
-OPC_devvars=[RCU_mask,Ant_mask,RCU_att,RCU_band,RCU_temp,RCU_pwrd,RCU_LED,RCU_ADC_lock,RCU_ADC_SYNC,RCU_ADC_JESD,RCU_ADC_CML,RCU_OUT1,RCU_OUT2,RCU_ID,RCU_VER,HBA_Delay,HBA_led,RCU_uCV_ID]
+OPC_devvars=[RCU_mask,Ant_mask,RCU_att,RCU_band,RCU_temp,RCU_pwrd,RCU_LED,RCU_ADC_lock,RCU_ADC_SYNC,RCU_ADC_JESD,RCU_ADC_CML,RCU_OUT1,RCU_OUT2,RCU_ID,RCU_VER,HBA_Delay,HBA_led,HBA_pwr,RCU_uCV_ID]
 #OPC_devvars=[RCU_mask,Ant_mask,RCU_att,RCU_band,RCU_temp,RCU_pwrd,RCU_LED,RCU_uCV_ID,RCU_uCV_spd0,RCU_uCV_RXspd1,RCU_uCV_RXspd2,RCU_uCV_TXspd1,RCU_uCV_debug ]#,HBA1_Pwr]#,RCU_CNF1,RCU_CNF2]
 #Instr=namedtuple("DevInstr","type dev nvalue value")
 #Instrs=namedtuple("Instr","name ninstr instr")
diff --git a/scripts/SetHBAT_BF.py b/scripts/SetHBAT_BF.py
index ada75d2c9b4b86e5501ff5f69383d0c586233ca6..8c934f5c29931894c9de78a6c5a1c94ee3d8627b 100644
--- a/scripts/SetHBAT_BF.py
+++ b/scripts/SetHBAT_BF.py
@@ -16,7 +16,7 @@ i=(RCU*3+HBAT)*32
 val=get_value(name+"_R")
 print("old:",val[i:i+32])
 
-val[i:i+32]=np.array(range(32))[::]
+val[i:i+32]=np.array(range(32))[::]*0
 
 set_value(name+"_RW",val)
 time.sleep(1)
diff --git a/scripts/SetHBAT_pwr.py b/scripts/SetHBAT_pwr.py
new file mode 100644
index 0000000000000000000000000000000000000000..3b5a105ccfdd86c8468b6cf37f8bc0f53207022e
--- /dev/null
+++ b/scripts/SetHBAT_pwr.py
@@ -0,0 +1,40 @@
+RCU=3
+HBAT=1 #HBAT on RCU 0..2
+#HBA=5; #HBA Element in HBAT
+#BFX=11 #delay in 0.5ns
+#BFY=BFX+1
+name="HBA_element_pwr"
+
+from test_common import *
+import numpy as np
+
+AntMask=[(x==HBAT) for x in range(3)]
+setAntmask([RCU],AntMask)
+
+i=(RCU*3+HBAT)*32
+
+val=get_value(name+"_R")
+print("old:",val[i:i+32])
+
+val[i:i+32]=np.ones([32])
+#val[i:i+32]=np.zeros([32])
+
+set_value(name+"_RW",val)
+
+#time.sleep(0.5)
+#busy=get_value("RCU_state_R")
+#print(busy)
+for x in range(10):
+  busy=get_value("RCU_state_R")
+  print(busy)
+  if (busy=='busy'): break;
+  time.sleep(0.05)
+while not(busy=='ready'):
+  busy=get_value("RCU_state_R")
+  print(busy)
+  time.sleep(0.05)
+
+val=get_value(name+"_R")
+print("new:",val[i:i+32])
+
+disconnect()