docs: def req_with_ack(self, msg_type, payload, callb = None, timeout_secs=None, max_attempts=None):
          """Method to send a message expecting to receive an ACK.
  
              :param msg_type: The type of the message to send, a subclass of aiolifx.Message
              :type msg_type: class
              :param payload: value to use when instantiating msg_type
              :type payload: dict
              :param callb: A callback that will be executed when the ACK is received in datagram_received
              :type callb: callable
              :param timeout_secs: Number of seconds to wait for an ack
              :type timeout_secs: int
              :param max_attempts: .
              :type max_attempts: int
              :returns: True
              :rtype: bool
          """
          msg = msg_type(self.mac_addr, self.source_id, seq_num=self.seq_next(), payload=payload, ack_requested=True, response_requested=False)
          self.message[msg.seq_num]=[Acknowledgement,None,callb]
          xx=self.loop.create_task(self.try_sending(msg,timeout_secs, max_attempts))
          return True