code: def open_interface_sync(self, conn_id, interface, connection_string=None):
          
  
          done = threading.Event()
          result = {}
  
          def open_interface_done(conn_id, adapter_id, status, reason):
              result['success'] = status
              result['failure_reason'] = reason
              done.set()
  
          self.open_interface_async(conn_id, interface, open_interface_done, connection_string)
          done.wait()
  
          return result
docs: Asynchronously open an interface to this IOTile device
  
          interface must be one of (rpc, script, streaming, tracing, debug)
  
          Args:
              interface (string): The interface to open
              conn_id (int): A unique identifier that will refer to this connection
              connection_string (string): An optional DeviceAdapter specific string that can
                  be used to connect to a device using this DeviceAdapter.
          Returns:
              dict: A dictionary with four elements
                  'success': a bool with the result of the connection attempt
                  'failure_reason': a string with the reason for the failure if we failed