diff --git a/rd_unb2c.py b/rd_unb2c.py
index b553765ad89f1b017648970349b5bf178b867e50..50dccb847f535d47fefaddc88f221337ecaaabee 100644
--- a/rd_unb2c.py
+++ b/rd_unb2c.py
@@ -18,42 +18,55 @@ I2CBUSNR=3
 class c_pol:
     def __init__(self, name):
         self.name = name
-        self.vout
-        self.iout
-        self.temp
-        self.pol_dev = I2C(LOC_POLS[name])
+        self.vout=0
+        self.iout=0
+        self.tem=0
+        self.pol_dev = I2C(LOC_POLS[self.name])
         self.pol_dev.bus = I2CBUSNR
+        sleep(0.1)
         ret_ack, ret_value = self.pol_dev.read_bytes(0)
         if ret_ack < 1:
-            print("no device found")
+            stri = " Device {0} at address 0x{1:X} not found".format(self.name, LOC_POLS[self.name])
+            print(stri)
+            self.status=False
         else:
+            self.status=True
 
     def read_vout(self):
-        sleep(0.1)
-        ret_ack, vout_mod = self.pol_dev.read_bytes(LP_VOUT_MODE, 1)
-        sleep(0.1)
-        ret_ack, raw_value = self.pol_dev.read_bytes(LP_VOUT, 2)
-        vout_mod = int(vout_mod,16)
-        ret_value = []
-        ret_value.append(int(raw_value[:2], 16))
-        ret_value.append(int(raw_value[2:], 16))
-        self.vout = calc_lin_3bytes(ret_value, [vout_mod])
-
+        if self.status:
+            sleep(0.1)
+            ret_ack, vout_mod = self.pol_dev.read_bytes(LP_VOUT_MODE, 1)
+            sleep(0.1)
+            ret_ack, raw_value = self.pol_dev.read_bytes(LP_VOUT, 2)
+            vout_mod = int(vout_mod,16)
+            ret_value = []
+            ret_value.append(int(raw_value[:2], 16))
+            ret_value.append(int(raw_value[2:], 16))
+            self.vout = calc_lin_3bytes(ret_value, [vout_mod])
+        else:
+            self.vout=999
+ 
     def read_iout(self):
-        sleep(0.1)
-        ret_ack, raw_value = self.pol_dev.read_bytes(LP_IOUT, 2)
-        ret_value=[]
-        ret_value.append(int(raw_value[:2],16))
-        ret_value.append(int(raw_value[2:],16))
-        self.iout = calc_lin_2bytes(ret_value)
+        if self.status:
+            sleep(0.1)
+            ret_ack, raw_value = self.pol_dev.read_bytes(LP_IOUT, 2)
+            ret_value=[]
+            ret_value.append(int(raw_value[:2],16))
+            ret_value.append(int(raw_value[2:],16))
+            self.iout = calc_lin_2bytes(ret_value)
+        else:
+            self.iout=999
 
     def read_temp(self):
-        sleep(0.1)
-        ret_ack,raw_value = self.pol_dev.read_bytes(LP_temp, 2)
-        ret_value=[]
-        ret_value.append(int(raw_value[:2],16))
-        ret_value.append(int(raw_value[2:],16))
-        self.temp = calc_lin_2bytes(ret_value)
+        if self.status:
+            sleep(0.1)
+            ret_ack,raw_value = self.pol_dev.read_bytes(LP_temp, 2)
+            ret_value=[]
+            ret_value.append(int(raw_value[:2],16))
+            ret_value.append(int(raw_value[2:],16))
+            self.temp = calc_lin_2bytes(ret_value)
+        else:
+            self.temp=999
 
     def read_all(self):
         self.read_vout()
@@ -61,12 +74,13 @@ class c_pol:
         self.read_temp()
 
     def print_status(self):
-        self.read_all()
-        stri = "POL: " + self.name + "  "
-        stri += "Output voltage :{0: <5.2f} V ".format(self.vout)
-        stri += "Output Current :{0: <5.2f} A ".format(self.iout)
-        stri += "temperature :{0: <5.2f} Deg C".format(self.temp)
-        print(stri)
+        if self.status:
+            self.read_all()
+            stri = "POL: " + self.name + "  "
+            stri += "Output voltage :{0: <5.2f} V ".format(self.vout)
+            stri += "Output Current :{0: <5.2f} A ".format(self.iout)
+            stri += "temperature :{0: <5.2f} Deg C".format(self.temp)
+            print(stri)
 
 
 def rw_eeprom(value=0xAB):
@@ -231,7 +245,19 @@ if 0:
 else:
     for node_cnt in range(4):
         read_pol(node_cnt, LOC_POWER_CORE)
-    read_pol(-1,0x01)
+#    read_pol(-1,0x01)
 
-polletje = c_pol(LOC_POWER_CORE)
-polletje.print_status()
\ No newline at end of file
+main_switch = I2C(MAIN_I2C_SWITCH)
+main_switch.bus = I2CBUSNR
+ret_ack = main_switch.write_bytes(0x0, 0x01) #select Node
+if ret_ack < 1:
+    print("Main I2C switch not found")
+else:
+    node_switch = I2C(NODE_I2C_SWITCH)
+    node_switch.bus = I2CBUSNR
+    ret_ack = node_switch.write_bytes(0x0, 0x20) #select DDR4
+    if ret_ack < 1:
+        print("Node I2C switch not found")
+for pol in list(LOC_POLS.keys()):
+    polletje = c_pol(pol)
+    polletje.print_status()