RGB LED Strip Driver over MQTT

void callback(char* topic, byte* payload, unsigned int length)
{
  if (strcmp(messageBuffer, "on") == 0)
  {
    {
      digitalWrite(LED_BUILTIN, LOW);
      power = true; //activate rainbow 
    }
  }
  else if (strcmp(messageBuffer, "off") == 0)
  {
    {
      digitalWrite(LED_BUILTIN, HIGH);
      OffRainbow();
      power = false;  //stop the rainbow
    }
  }

Mqtt Box aka my publisher is an online app you can download it here: http://workswithweb.com/

Idahowalker:
You should treat this void callback(char* topic, byte* payload, unsigned int length)
as an ISR and get rid of all the serial prints. Just use serial prints in an ISR to see if the ISR worked, then get rid of them.

BTW: I am guessing that the MQTT publish button is on another device? I am guessing that when you press MQTT Publish the subscriber fails? I am guessing that the code in post 1 for the subscriber? I am guessing that the subscriber does a memory dump every time it receives a MQTT package?

Have tested it with serial prints and it works