code: def __on_disconnect(self, client, userdata, result_code):
          # pylint: disable=W0613
          
          if result_code:
              # rc != 0: unexpected disconnection
              _logger.error(
                  "Unexpected disconnection from the MQTT server: %s (%d)",
                  paho.connack_string(result_code),
                  result_code,
              )
  
              # Try to reconnect
              self.__stop_timer()
              self.__start_timer(2)
  
          # Notify the caller, if any
          if self.on_disconnect is not None:
              try:
                  self.on_disconnect(self, result_code)
              except Exception as ex:
                  _logger.exception("Error notifying MQTT listener: %s", ex)
docs: Client has been disconnected from the server
  
          :param client: Client that received the message
          :param userdata: User data (unused)
          :param result_code: Disconnection reason (0: expected, 1: error)