Multiple MQTT vacuums - best way to handle?

I’ve got two older roombas that are outfitted with ESP8266 wifi and are set up with MQTT. They work, but share a “channel”, so that they respond simultaneously to commands that I issue - obviously not the best way to go.

What is the best way to differentiate the two in terms of MQTT?

I’m thinking that in configuration.yaml I’d want to change from:

mqtt:
  vacuum:
    - command_topic: "vacuum/command"
      unique_id: "roomba-780"
      unique_id: "roomba-860"

to something like:

mqtt:
  vacuum:
    - command_topic: "vacuum/roomba-780/command"
      unique_id: "roomba-780"
    - command_topic: "vacuum/roomba-860/command"
      unique_id: "roomba-860"

… and of course, recompile the programs to match the new paths for MQTT… like this for the 860…

// MQTT Topic Settings
const char *MQTT_DISCOVERY_TOPIC = "homeassistant/vacuum/roomba-860/config";
const char *MQTT_STATE_TOPIC = "vacuum/roomba-860/state";
const char *MQTT_COMMAND_TOPIC = "vacuum/roomba-860/command";
const char *MQTT_AVAILABILITY_TOPIC = "vacuum/roomba-860/status";

… etc…

Maybe there is another more elegant/efficient way?

I’m thinking that the program should auto-populate the MQTT topics with a readable hostname htat contains the MAC address of the wifi card so that they are somewhat uniquely identified… Or a simple hostname?