From 2cdb2c046695f1063f96d6f0d8affa44e5af9c58 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Thu, 3 Dec 2020 13:36:54 +0100
Subject: [PATCH] Use state functions (On/Off/Fault) to set state internally

---
 RCUSCC/RCUSCC/RCUSCC.py | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/RCUSCC/RCUSCC/RCUSCC.py b/RCUSCC/RCUSCC/RCUSCC.py
index 3d09b544e..c550c6477 100644
--- a/RCUSCC/RCUSCC/RCUSCC.py
+++ b/RCUSCC/RCUSCC/RCUSCC.py
@@ -61,7 +61,7 @@ def fault_on_opcua_error(func):
             return func(self, *args, **kwargs)
         except Exception as e:
             self.error_stream("Communication with the OPC-UA server %s:%d failed. Reconnecting. Trace: %s" % (self.OPC_Server_Name, self.OPC_Server_Port, traceback.format_exc()))
-            self.set_state(DevState.FAULT)
+            self.Fault()
             self.opcua_connector.reconnect()
 
             return None
@@ -352,7 +352,7 @@ class RCUSCC(Device):
         self.debug_stream("Mapping OPC-UA MP/CP to attributes done.")
 
         # we have connected, so are on-line.
-        self.set_state(DevState.ON)
+        self.On()
 
 
     def init_device(self):
@@ -405,13 +405,11 @@ class RCUSCC(Device):
         try:
             # Connect to OPC-UA
             self.opcua_connector = BackgroundReconnector(self._init_opcua, self._disconnect, self.debug_stream)
-            if self.opcua_connector.wait_connected(5.0): # allow 5 seconds to connect
-                self.set_state(DevState.ON)
-            else:
-                self.set_state(DevState.FAULT)
+            if not self.opcua_connector.wait_connected(5.0): # allow 5 seconds to connect
+                self.Fault()
         except Exception as e:
-            self.set_state(DevState.FAULT)
             self.error_stream("Connection init to the OPC-UA server %s:%d failed.  Trace: %s" % (self.OPC_Server_Name, self.OPC_Server_Port, traceback.format_exc()))
+            self.Fault()
             raise e
         # PROTECTED REGION END #    //  RCUSCC.init_device
 
@@ -444,7 +442,7 @@ class RCUSCC(Device):
         self.opcua_connector.stop()
         self._disconnect()
 
-        self.set_state(DevState.OFF)
+        self.Off()
         self.debug_stream("Shut down.  Good bye.")
         # PROTECTED REGION END #    //  RCUSCC.delete_device
     # ------------------
-- 
GitLab