MQTT ESP8266

Buen dia.

En el archivo del servidor i tengo el siguiente código.
Lo que hace es recibir el mensaje que viene de mi celular por un chat de Telegram, ejecutar la funcion interior() que envía el mensaje al NODEMCU, y luego ejecuta la funcion Telegram.

const bot=new TelgramBot('885934361:AAHZRyCY6KK7ReI6oA5PV5lrx1LTA5zCgVs',{polling:true});
var variable;
bot.on('message',(msg)=>{
console.log(msg); //el mensaje msg es un .json]\
variable=msg.text;
interior(variable);
telegram.telegram(io,ip,variable,msg.chat.id,bot)
});

La funcion telegram se encuentra en el archivo telegram.js.
Esta funcion se suscribe por metodo mqtt al topic2 y envia el mensaje que recibe al chat de Telegram.
El mensaje que recibe es enviado por el Nodemcu una vez que se cambio el estado de un Led.
Ejemplo:

    if (payload[2] == 48){ //48 es el0 en codigo ascii
        digitalWrite(5, LOW); // Turn the LED off by making the voltage HIGH
        Serial.println("led D1 apagado");
        client.publish("casa/despacho/estado", "010",MQTTpubQos); //publica mensaje 010 en topic "casa/despacho/estado"
    }

La funcion telegram del archivo telegram.js es la siguiente:

module.exports.telegram=function(io,ip,vector,cliente,bot){
var y;
var mqtt = require('mqtt');
var client = mqtt.connect(ip,{clientId:"ESP_60B4E8",clean:true});
console.log("el vector es",vector);
console.log("prueba de io");
client.on('connect',function(){
client.subscribe(topic2,options2,function(){
client.on('message',function(topic2, message){ //abre el cliente de mqtt(ver libreria)
client.setMaxListeners(0); //para establecer limite infinito de mensajes que llegan
x=message.toString(); //Transforma el mensaje obtenido en string
bot.sendMessage(cliente,"dato enviado:"+x); //envia el dato x al chat de Telegram
client.end();
});
})
});

El problema que ocurre es que el mensaje que recibe el client.on es el mensaje anterior.
Es decir si envío la orden de encender LED D2 y luego Led D1. Cuando envío la orden de encender led D1 llega el mensaje que el Led D2 se encendio.
Estuve probando cambiar las opciones, tanto de retencion del mensaje, como de calidad o de limpieza y no logré solucionarlo.