code: async def disconnect(self, client_id, conn_string):
          
  
          conn_id = self._client_connection(client_id, conn_string)
  
          try:
              await self.adapter.disconnect(conn_id)
          finally:
              self._hook_disconnect(conn_string, client_id)
docs: Disconnect from a device on behalf of a client.
  
          See :meth:`AbstractDeviceAdapter.disconnect`.
  
          Args:
              client_id (str): The client we are working for.
              conn_string (str): A connection string that will be
                  passed to the underlying device adapter to connect.
  
          Raises:
              DeviceServerError: There is an issue with your client_id such
                  as not being connected to the device.
              DeviceAdapterError: The adapter had an issue disconnecting.