I have a 3G Electron running with system threading enabled in semi_automatic mode.
It has been publishing data to the Particle Cloud every 15 minutes for the past 4 days without issue. The publish event triggers an IFTTT recipe to add the published data to a Google Spreadsheet, and also triggers a webhook to send the data to a ThingSpeak channel.
The problem is, yesterday at 10 pm GMT my Electron published its last data successfully, after which things got wonky. The IFTTT recipe triggered twice more (2 am GMT and 10 am GMT), and the webhook didn’t get triggered at all after 10 pm GMT yesterday, despite the fact that the Electron was attempting to publish every 15 minutes.
I then loaded the Particle Console logs web serivce in my browser, and used the cURL command there to begin monitoring the logs via my command terminal on my PC.
Without resetting the Electron, I opened up the serial monitor interface to it using PuTTY and began manually making it publish to the Particle Cloud to see if the publish event would show up in either the online console log or on my command terminal.
The result is that the Particle.publish()
call in my firmware returns true
, but the publish event doesn’t show up in the live log feed in either the Particle Console or on my command terminal.
What’s even stranger is that the IFTTT recipe now appears to be getting triggered again sometimes (about 50% of the time) however the webhook is not getting triggered at all.
About 10% of the time, the Particle.publish()
call returns true, and then a subsequent check of Particle.connected()
returns false and the RGB indicator LED on board the Electron starts rapid cyan flash (trying to connect to particle cloud) and then fails with rapid red blinks… then repeats… and repeats… and repeats… until it reconnects to the Particle Cloud after about 10 tries.
The remaining 40% of the time Particle.publish()
appears to return true
but doesn’t show up anywhere on the cloud (not in console, my terminal, IFTTT trigger, or webhook trigger) and Particle.connected()
still returns true
.
Here is a screenshot of the console log, which clearly shows the IFTTT count incrementing and decrementing despite there being no publish events being listed.
So, can someone help me answer the following questions:
-
why would
Particle.publish()
returntrue
if it is not being logged on Particle console, IFTTT, or webhook, and a subsequent call toParticle.connected()
returnsfalse
? -
Why would the
iftt-trigger-event-check
event increment and then decrement without a publish event showing up in the Particle console logs? -
What does the
ifttt-trigger-event-check
“count” variable actually count? My IFTTT recipe has triggered several hundred times, so why is the count only at a few dozen? -
Why would an IFTTT recipe get triggered but not a webhook?
-
Is there a better way for me to confirm that a publish event has actually taken place other than looking at my google spreadsheet, ThingSpeak channel, and using the online/command terminal log utility?
UPDATE:
If I press the reset button, everything starts working correctly again. Obviously this isn’t a real solution, but may help one of you speak to my problem with a bit more information.