def setDualRealay(self): self.__DUALRELAY = DualRelay(self.__UID, self.__IPCON) return self
class tinkerforgeDriver(driver.driver.abstractDriver): ''' classdocs ''' __NAME = "Tinkerforge Driver" __HOST = "localhost" __PORT = 4223 __UID = "9SS" __DUALRELAY = None __IPCON = IPConnection() __RELAY = 1 def __init__(self): ''' Constructor ''' driver.driver.abstractDriver.__init__(self) self.__IPCON = IPConnection() # Create IP connection def __del__(self): pass # if self.__IPCON.get_connection_state() == self.__IPCON.CONNECTION_STATE_CONNECTED: self.disconect() def getName(self): return self.__NAME def setHost(self, host): self.__HOST = host return self def getHost(self): return self.__HOST def setPort(self, port): self.__PORT = port return self def getPort(self): return self.__PORT def setUID(self, uid): self.__UID = uid return self def getUID(self): return self.__UID def setDualRealay(self): self.__DUALRELAY = DualRelay(self.__UID, self.__IPCON) return self def getDualRelay(self): return self.__DUALRELAY def connect(self): if isinstance(self.getDelay(), DualRelay) is False: self.setDualRealay() self.__IPCON.connect(self.__HOST, self.__PORT) def disconnect(self): self.__IPCON.disconnect() def connection_enabled(self): if self.__IPCON.get_connection_state() == self.__IPCON.CONNECTION_STATE_CONNECTED: return True else: return False def setup(self): while True: self.CleanScreen() print("Tinkerforge Driver Setup") print("Select an option:") print("1. Set Host") print("2. Set Port") print("3. Set UID") print("4. connect to Tinkerforge") print("0. backward") option = int(input("Option: ")) if(option == 0): break elif(option == 1): while True: try: host = input("Set Host: ") except ValueError: print("Invalid input!") continue else: if self.connection_enabled() is True: self.disconnect() self.__HOST = host break elif(option == 2): while True: try: port = int(input("Set Port: ")) except ValueError: print("Invalid input!") continue else: if self.connection_enabled() is True: self.disconnect() self.__PORT = port break elif(option == 3): while True: try: uid = input("Set UID: ") except ValueError: print("Invalid input!") continue else: if self.connection_enabled() is True: self.disconnect() self.__UID = uid self.setDualRealay() break elif(option == 4): self.connect() if self.connection_enabled: print("Connected with Tinkerforge Bricklet") else: print("Invalid input!") def triggerRemote(self): if self.connection_enabled() is False: self.connect() self.__DUALRELAY.set_monoflop(self.__RELAY, True, 75)