Dashboard issues on Web and iOS


I am using NodeMCU with ArduinoIDE and ESP8266 library for Cayenne.

I am using both Web and iOS Dashboards

I have two issues that I’d like to report for potential bug fixes. The issue relating to signal icon and unit for particle matter readings were reported in other thread.

  1. I have two channels with gauge widget, both sending the same data type using exactly the same command. On the Web Dashboard one of them is displaying properly and as expected, while the other one shows also unit after the value text. Look at PM1 PPM and PM2.5 PPM.

  2. Is there a Dashboard view settings synchronisation between Web and iOS dashboards? What I am experiencing is that even though I have set up humidity, temp and heat index gauge widgets with proper colours and their range values on the Web interface, in an iOS app they seem to reset to some general range. Unfortunately on iOS I can only set min and max value for the gauge and not how the colours should appear in between. Compare first image with the one below from iOS.

can you share the code you are using?


I have a lot of code there that is about reading the data from sensor hence it won’t add much to discussion and make things more difficult to see.

But regarding Cayenne part this is what I have:

//External libraries:
#include <CayenneMQTTESP8266.h>

//Main parameters definitions:
#define CAYENNE_PRINT Serial

// WiFi network info.
char ssid = “my_ssid”;
char wifiPassword = “my_password”;

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

void setup(void)
Serial.begin(9600); // initialize serial port
Cayenne.begin(username, password, clientID, ssid, wifiPassword);
void loop() {


// code for data reading from PM1 sensor output (>1um particle size)
Cayenne.virtualWrite(5, PM1, “pm”, “mg”);
Cayenne.virtualWrite(6, PPM_PM1, “co2”, “ppm”);

// code for data reading from PM2.5 sensor output (>2.5um particle size)
Cayenne.virtualWrite(7, PM2_5, “pm”, “mg”);
Cayenne.virtualWrite(8, PPM_PM2_5, “co2”, “ppm”);

//code for calculation of particles between 1um and 2.5um
Cayenne.virtualWrite(9, PM1_PM2_5, “pm”, “mg”);

// code for reading of temp, humidity and heat index
Cayenne.celsiusWrite(1, t_int);
Cayenne.virtualWrite(2, h_int, “rel_hum”, “p”);
Cayenne.celsiusWrite(3, hi_int);
Cayenne.celsiusWrite(4, t_int);

are you sending all this data in the main loop without any delay?

can you try deleting and let it re-populate with green widget. Then add it by clicking on + on the green widget.

thank for pointing this issue out. will take note of this.

No, the PM sensor values readings take about 60 seconds each, there is way smaller delay between PM1_PM2_5 value and temp and humidity readings, also there is no delay between temp, humidity and hear index channels. But those do not seem to cause any issue.

I have deleted and re-populated the PPM widget and the unit is not displaying now. Thanks for support!


Read this post Sending MQTT messages within rate limits