Envio de datos de thinger a ESP8266 por MQTT

Hola, quisiera saber como puedo enviar mensajes desde thinger a mi microcontrolador ESP8266 para encender y apagar un led, ya el dispositivo se conecta correctamente a la plataforma por el protocolo, pero, no puedo configurar los widgets para ejercer control y enviar mensajes. Que puedo hacer?
Este es mi codigo:
#include <ESP8266WiFi.h>
#include <PubSubClient.h>

const char* ssid = “ssid”;
const char* password = “password”;
const char* thingerServer = “backend.thinger.io”;
const int thingerPort = 1883;
const char* userName = “franklintorres06”;
const char* deviceName = “MICRO_PRUEBA1”;
const char* deviceCredential = “formato123”;

const int ledPin = D2; // Pin del LED

WiFiClient espClient;
PubSubClient client(espClient);

void setup()
{
Serial.begin(115200);
pinMode(ledPin, OUTPUT);

// Conexión a WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.println(“Conectando a WiFi…”);
}
Serial.println(“Conectado a la red WiFi”);

// Conexión al servidor MQTT de Thinger.io
client.setServer(thingerServer, thingerPort);
while (!client.connected())
{
Serial.println(“Conectando al servidor MQTT…”);
if (client.connect(deviceName, userName, deviceCredential))
{
Serial.println(“Conectado al servidor MQTT”);
client.subscribe(“v2/tu_usuario/devices/tu_dispositivo/databuckets/Control_baliza”);
}
else
{
Serial.printf(“Error en conexión MQTT, rc=%d. Reintentando en 5 segundos…\n”, client.state());
delay(5000);
}
}

}

void loop()
{
// Verificar si hay mensajes en el Topic del LED
client.loop();
}

// Función para manejar los mensajes recibidos en el Topic del LED
void callback(char *topic, byte *payload, unsigned int length)
{
// Convertir el payload en una cadena de caracteres
char receivedMessage[length + 1];
for (int i = 0; i < length; i++)
{
receivedMessage[i] = (char)payload[i];
}
receivedMessage[length] = ‘\0’;

// Imprimir el mensaje recibido
Serial.println("Mensaje recibido en el Topic del LED: " + String(receivedMessage));

// Interpretar el mensaje y controlar el LED
if (strcmp(receivedMessage, “encender”) == 0)
{
digitalWrite(ledPin, HIGH);
Serial.println(“LED encendido”);
}
else if (strcmp(receivedMessage, “apagar”) == 0)
{
digitalWrite(ledPin, LOW);
Serial.println(“LED apagado”);
}
}

Lo que se pretende con esto es poder hacer la desmostracion de control de encedido y apagado de unas balizas, pero como se utiliza una red corporativa, solo permite el protocolo MQTT por el puerto especificado. La idea es poder demostrar que puede funcionar tanto para hacer el control de las balizas, como para enviar datos de sensores, es decir, hacer Pub y Sub y de esta manera poder vincular varios dispositivos, con el Pub si que hemos podido vizualizar los datos que envian los sensores, pero con el el Sub para el control aun no lo hemnos podido hacer, somos nuevos en la plataforma y se quiere realizar la implementacion del recurso IoT. Agradezco cualquier orientacion que puedan brindar.