Having trouble with automatic widgets with new device

New user to Cayenne. Have followed all directions for installing a new device but when I run it the widget that’s supposed to pop up on the dashboard does not appear. I’m using a generic ESP8266 device with one of the example sketches from the CayenneMQTT library (version 1.3.0 installed). I have all my credentials entered in the sketch. I get a “connected” message from my serial monitor so I know I’m online with the Cayenne platform. I’m expecting a data value on channel 0 to appear but nothing happens. Any suggestions?

Can you share the code you are using. Add #define CAYENNE_DEBUG in your code and check the serial monitor to see the data published. Once connected and data is published you will see green temporary widgets on the cayenne dashboard. Click on the + on the top right corner of each widget to make them permanent.

Here is the sketch (from the Cayenne library):

#define CAYENNE_PRINT Serial
#include <CayenneMQTTESP8266.h>

// WiFi network info.
char ssid = “xxxxxxx”;
char wifiPassword = “xxxxxxxx”;

// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username = “xxxxxxx”;
char password = “xxxxxxx”;
char clientID = “xxxxxxx”;

void setup() {
Cayenne.begin(username, password, clientID, ssid, wifiPassword);

void loop() {

// Default function for sending sensor data at intervals to Cayenne.
// You can also use functions for specific channels, e.g CAYENNE_OUT(1) for sending channel 1 data.
// Write data to Cayenne here. This example just sends the current uptime in milliseconds on virtual channel 0.
Cayenne.virtualWrite(0, millis());
// Some examples of other functions you can use to send data.
//Cayenne.celsiusWrite(1, 22.0);
//Cayenne.luxWrite(2, 700);
//Cayenne.virtualWrite(3, 50, TYPE_PROXIMITY, UNIT_CENTIMETER);

// Default function for processing actuator commands from the Cayenne Dashboard.
// You can also use functions for specific channels, e.g CAYENNE_IN(1) for channel 1 commands.
CAYENNE_LOG(“Channel %u, value %s”, request.channel, getValue.asString());
//Process message here. If there is an error set an error message using getValue.setError(), e.g getValue.setError(“Error message”);

And here is a sample serial monitor readout:

12:32:47.977 → [4553] Connected to WiFi

12:32:48.012 → [4554] IP:

12:32:48.012 → [4554] Connecting to mqtt.mydevices.com:1883

12:32:48.320 → [4911] Connected

12:32:48.388 → [4962] Publish: topic 4, channel 65534, value Arduino, subkey , key

12:32:48.458 → [4964] Publish: topic 6, channel 65534, value Xtensa32, subkey , key

12:32:48.526 → [4977] Publish: topic 7, channel 65534, value 80000000, subkey , key

12:32:48.595 → [5051] Publish: topic 5, channel 65534, value 1.3.0, subkey , key

12:32:48.663 → [5122] Publish: topic 8, channel 65534, value ESP8266, subkey , key

12:32:50.595 → [7201] Publish: topic 1, channel 0, value 7200, subkey , key

12:32:59.632 → [16228] Connection ok

12:33:05.646 → [22246] Publish: topic 1, channel 0, value 22246, subkey , key

Still no green widgets appear in my dashboard…

can you private message me your email_id.

Probably having the same problem with an other setup: Arduino MKR 1400 GSM
Thanks in advance