Read Multiple OPCUA "node-red-contrib-opcua"

I'm asking for your help. I'm using the "node-red-contrib-opcua" library. I need to read several opcua variables. When read individually, everything works. If I put all the "Opcua-Item" nodes in parallel with the "OPCUA_CLient_Node" node in "read multiple" mode, sending a msg.topic="readmultiple" reads the variables at once. Now, what I'd like to do is replace all the "Opcua-Item" blocks, grouping the data in a function block that injects the payload into the "Opcua-Client" node, a block similar to this:

msg.topic = "readmultiple";
msg.payload = [];
msg.payload.push({ nodeId: "ns=1;s=1.2270.1.0.0.0;datatype=Bool" });  // bool 
msg.payload.push({ nodeId: "ns=1;s=1.1508.1.0.0.0;datatype=Bool" });  // bool 
msg.payload.push({ nodeId: "ns=1;s=1.1243.1.0.0.0;datatype=Bool" });  // bool 
msg.payload.push({ nodeId: "ns=1;s=1.343.1.0.0.0;datatype=Float" });  // float 

return msg;

but I can't get it to work..ideas?

combined with this function:

const nodes = [
    "ns=1;s=1.2270.1.0.0.0",  // bool 
    "ns=1;s=1.1508.1.0.0.0",  // bool 
    "ns=1;s=1.1243.1.0.0.0",  // bool 
    "ns=1;s=1.343.1.0.0.0"    // float 
];

// Registra i nodeId nel client
for (const nodeId of nodes) {
    node.send({ topic: nodeId });
}

// Scatena la lettura
node.send({ topic: "readmultiple", payload: "ALL" });

return null;

I hope it can be useful to others..