Send data from cayenne to arduino possible ?!

#define CLIENT_ID is the id of the subscriber device.

#define CLIENT_ID_SUB is the ID of the device you want to subscribe to.

So #define CLIENT_ID_SUB will be your sender ID and #define CLIENT_ID will be your receiver ID

DEBUG: Attempting MQTT connection…failed, rc=-1 try again in 5 seconds

this is the message that gets me out of error, please can you be more exhaustive in describing the code?

are you using an esp or Arduino device? it is working without any issue on my nodemcu. the code is quite straight forward I guess. what is the thing you are not getting? it first connects to the wifi, next connect to the server. if connected, subscribes to the publishes topic of sender device.

nothing, I can’t as you say, I ask for help, keep giving me the same mistake

which part of the code do you want me to explain. (not the entire code)

I don’t know what the problem is and if it depends on the code, but I posted the error that gives me, so I think it’s an authentication problem

i just tried again the same above code with wemos D1 mini and it worked for me again. which device are you using?

i am using esp8266

can you provide a link to the device.

spiegati meglio. è un nodemcu 12e

it should work on nodemcu without any issue.

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// ---------- DEFINE CONSTANT VALUES ----------

#define MQTT_SERVER “
#define MQTT_SERVERPORT 1883
#define MQTT_USERNAME “”
#define MQTT_PASSWORD “”
#define CLIENT_ID “”

#define CLIENT_ID_SUB “”

#define MQTT_TOPIC_BTN_ONOFF “v1/” MQTT_USERNAME “/things/” CLIENT_ID_SUB “/data/2”

// ---------- INITIALIZE INSTANCES ----------

WiFiClient espClient; // Creates a client instance for the PubSubClient
PubSubClient client(espClient);

// ---------- DEFINE VARIABLES ----------

const char* ssid = “”; // WLAN-SSID (WiFi router)
const char* password = “”; // WLAN Password

// Define a datatype to store the mqtt message, up to 50 bytes.
char msg[50]; // 50 BYTES QUIZAS SEA MUCHO AL GAS, pero bueh

// -------------------- SETUP -------------------

void setup() {

// Initialize serial monitor for debugging purposes.
Serial.println("DEBUG: Entering setup ");

// Attempt to connect to WiFi.
WiFi.begin(ssid, password);
Serial.print("Connecting to ");

while (WiFi.status() != WL_CONNECTED) {
Serial.println(""); // Faltaria agregar que muestre el ip si no es estatico
Serial.println(“WiFi connected”);
Serial.println("IP address: ");
// Initialize MQTT PubSub Library
// Function called in case of an incomming mqtt message from Cayenne Dashboard
// (In this case is the dashboard button to turn on/off the heater)

Serial.println("DEBUG: Setup Done! ");


// -------------------- LOOOP -------------------

void loop() {
// Check if the esp8266 is connected to the mqtt server.
if (!client.connected()) {

// If connected, perform PubSubClient housekeeping function.

// ------------------------------ OTHER FUNCTIONS

// Function that attempts to reconnect to the mqtt server.

void reconnect() {
// If esp8266 is disconnected from the mqtt server, try to reconnect.
// (*** I still need to think what wil happen to the boiler if connection is lost ***)
while (!client.connected()) {
Serial.print(“DEBUG: Attempting MQTT connection…”);

// Attempt to connect

  // Once connected, resubscribe to the Dashboard on/off button topic.

} else {
  Serial.print("failed, rc=");
  Serial.println(" try again in 5 seconds");
  // Wait 5 seconds before retrying

Serial.println("DEBUG: Quiting reconnect loop ");

// Function to intercept MQTT messages

void mqttCallback(char* topic, byte* payload, unsigned int length) {
Serial.print(“Message arrived [”);
Serial.print("] ");
for (int i = 0; i < length; i++) {
// Show the received message “stream” in the serial monitor.
// Delay for debugging purposes. If a message arrives from Cayenne, the terminal feed pauses 5’.

nulla…sempre lo stesso errore

have you used two separate client_id here?


try this code and see if you can connect atleast.

stesso errore "DEBUG: Attempting MQTT connection…failed, rc=-1 try again in 5 seconds

can you atleast connect using the cayenne library?

yes, uso tranquillamente cayenne da anni,per conferma ho provato ha inserire tutto sul’ hardware nuovo e cmq fuziona con la prova base che hai dato ora

you mean, it works with pubsub also?

no con pubsub no