Trigger is not working


I need triggers to work in real-time. But they are not working at all. I took screenshots of my triggers and how data has changed. But during all those changes, triggers did not work. What do you suggest?

Trigger Troubleshooting

Hi @nicathesenov,

Could you answer a few additional questions so I can try to reproduce/investigate?

  • I assume both of these devices are ESP8266’s – are they connected through the ‘Bring Your Own Thing’ (MQTT), or the Arduino connectivity option in Cayenne?

  • Is it both triggers that aren’t working for you here, or just the one pictured in Screenshot 206? If both, could I see a screenshot of the detail for the other trigger as well?

  • Does toggling the motor that is the ‘Then’ action in the trigger in Screenshot 206 manually via a Cayenne dashboard widget work OK?


Hi @rsiegel ,thank you for your attention.

  • Yes, both of them are ESP8266 devices and I use this library and its example: I think it is not “Bring Your Own Thing”.

  • I think triggers are not working at all for me :slight_smile: Both of them are not working and I also tried to set up e-mail notification instead of actuator. It did not work either. Moreover, when I want to see trigger for either of the devices in Cayenne Android App, it tells me Server Error and shows nothing. Here is the screenshot of other trigger, they are just opposite of each other:

  • Yes, toggling the motor(‘Then’ action of trigger) via dashboard widget is working, In addition, gauge widget(‘if’ condition of my trigger) is also showing real-time value without problem. The problem is that the trigger does not see/detect change in the widget value.

Few days ago, my devices were mostly shown offline even if widgets were working but yesterday, when I was testing triggers, both of them were online. I think it was a bug that has been solved.


@rsiegel, Could you find out if it is a bug or if it will be solved soon?


Hi @nicathesenov, apologies for the delay in my response on this one.

I’ve been running quite a few tests to try to replicate this behavior on my end today with no luck (all of my MQTT to MQTT triggers are firing, even if the ‘then’ device is Offline, it is at least still firing, though of course the ‘then’ device is not receiving the response. I do know we have a little bugginess around the “Last Ran”/“Ran x times” counters in the web UI, but even when those don’t log the attempt my triggers are still firing.

So I’m a little unsure what could be going on here. If this is still reproducing on your end, could you try deleting and re-creating your trigger to see if this has any affect? If you don’t mind editing your code, I’d be interested if changing the channel values for both the ‘if’ and ‘then’ side have any impact on this as well.


Same issue here. Triggers not working at all!

Any hints?



Hi @rsiegel, few days ago, I also tried to find out which part is problematic in triggers. First, I set up schedule to activate a trigger and send me a message and it worked perfectly in time. In addition, I tried trigger with digital “IF condition”(2 state widget as “If”) and it is also working. So, we can infer that the part that actuates triggers are working and the problematic side is TRIGGERS CANNOT DETECT CHANGE IN ANALOG INPUT. It does when “if” condition is digital but not when it is analog. Moreover, I see that many people have problem with line chart not updating or not showing data. So we can conclude that Cayenne has very serious problem with analog inputs. I think if you can implement more rigid algorithm on ANALOG INPUTS part or debug it, many problems will be solved.


On my side, I’ve created an analog value that just counts upward (0, 1, 2, 3, etc…), and triggers when it hits a threshold like “20”. It is firing and sending me a notification email every time, so I don’t think this is explicitly an issue with analog versus digital input values.

Do you mind sharing your account login / password via Private Message to I can investigate more closely and see if anything appears to be in an unusual state. I wouldn’t change your actuators, I’d just set any trigger condition to an email so I can test quietly on my end.

@ivlachos, can you let us know some details about the triggers that aren’t working for you? Is yours also a MQTT/“Bring Your Own Thing” device?


I also have not been able to get triggers to work.

I am using a SparkFun ESP8266 ThingDev board. I’m using the Cayenne-MQTT-ESP8266 library from github (same as @nicathesenov)

I first tried with a temperature sensor and a trigger set above a certain temperature which I can easily achieve by putting my finger on the sensor. Then seeing that you had luck with a counter, I also tried the same thing except that I am having it turn an LED off with my board. I can turn the LED on and off manually with the widget. My counter counts up past what I have the trigger to set to and I do NOT get a trigger.

Could this be specific to the ESP8266 board and/or library that I’m using?


@ivlachos were you also using ESP826 device for your triggers?



No. I am working using Pycom;s LoPy (an ESP32 based module). But, I think there is a generic issue with triggers.



Hi @ivlachos, @elizabethsimon – apologies that I missed your responses here

If you still have these devices set up, I’d be curious if the trigger issues still exist as if there is one, it’s likely server side - so I’d like to test against our most recent server achitecture.

I’m not aware of any trigger issues at the moment (beyond MQTT online/offline triggers not firing), but again I was not seeing issues when we last spoke, and you were, so I’d like to help investigate in case there is a specific bug hiding in here somewhere.


Hi there, just wondering if trigger issue has been resolved.

I am using ESP8266 and digital triggers does work but analog is totally dead.

Looking at the count event on your server side always show 0 count so my guess still an issue on your end.

My analog goes form 0 to 100 and should trigger below 20 and does not happen event that widget shows values from 0 - 100 confirming valid data at your server.

Please advise.


As far as I’m aware there is no current backend issue with triggers or analog triggers specifically. I just ran a test where I passed some MQTT values and had triggers set for both above and below a threshold, and they all ran OK.

There is however a UI bug that I’m aware of where the trigger run count won’t update without a browser refresh, so I’d first check that to make sure they weren’t running after all. A good way to test the trigger engine is to add notifications to you trigger and check for the email/SMS response.

Is your ESP connected via the MQTT or Arduino connectivity in Cayenne?


Hi and thank you for your response!

I been using notifications eider e-mail or SMS and both none work, the only one working digital for both.

Just went down level < 20 and should trigger below but hasn’t worked this way and tried to refresh page as you mentioned but still showing count 0 so looks like is not triggering.

My ESP was flashed with Arduino using Library CayenneMQTTESP8266.h


Can you show us all of the triggers that you have set?



Sorry for interrupting.
I was a similar phenomenon.
Because I can only connect ABP to TTN, I edited LMIC instead of the standard library.
Because of this, I thought that trigger would not occur.

Yesterday, I read this thread and made “ESP 8266 + DHT 11”.
Trigger does not occur, it is a phenomenon similar to everyone.

Thank you.


I have been trying to use Trigger too and it is not triggering. I have used cayenne before and I have worked with triggers. Only today it is not working. Can you please resolve this issue or tell me what I am doing wrong

I am using ESP8266
and my arduino code is
#include <OneWire.h>
#include <DallasTemperature.h>
#include <CayenneMQTTESP8266.h>
#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

char ssid[] = “HATHWAY”;
char wifiPassword[] = “";
char username[] = "
char password[] = "
char clientID[] = "

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

void loop(void)
float temp = sensors.getTempCByIndex(0);



I have attached the whole video please resolve as soon as possible


@makerdemynew looks like you have two then condition for one if.
can you try deleting anyone and test.