
// MQTT Stuff
//void callback(char* topic, byte* payload, unsigned int length) {
//  debug("Message arrived [");
//  Serial.print(topic);
//  debug("] ");
//  for (int i = 0; i < length; i++) {
//    Serial.print((char)payload[i]);
//  }
//  debug(" ");
//}

void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    debug("Attempting MQTT connection...");
    // Attempt to connect
    if (client.connect(Mqtt_clientid)) {
      debugln("connected");
      // ... and resubscribe
      client.subscribe(dom_in);
    } else {
      debug("failed, rc=");
      debug(client.state());
      debugln(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      for(int i = 0; i<5000; i++){
        delay(1);
      }
    }
  }
}

// Sends MQTT payload to the Mosquitto server running on a Raspberry Pi.
// Mosquitto server deliveres data to Domoticz server running on a same Raspberry Pi
void sendMQTTPayload(String msgpayload)
{
  // Convert payload to char array
  msgpayload.toCharArray(msgToPublish, msgpayload.length()+1);

  //Publish payload to MQTT broker
  if (client.publish(dom_in, msgToPublish))
  {
    debug("Following data published to MQTT broker: ");
    debug(dom_in);
    debug(" ");
    debugln(msgpayload);
  }
  else 
  {
    debug("Publishing to MQTT broker failed... ");
    debugln(client.state());
  }
}
