Sending data to ThingSpeak stopped working on all of my devices.

I noticed that @ 9:05am CST this morning, all of my esp8266 and Particle Photon devices stopped being able to report to ThingSpeak. I did some digging and in their announcements portion of their forum they posted the following:

"During a planned update we noticed that some devices are sending data to ThingSpeak and closing the TCP connection without providing sufficient time for ThingSpeak API servers to respond, or confirming the data made its way to the ThingSpeak servers.

This is not a recommended approach as the assumption that the data being sent is accepted may not always be valid. For example, if your device tried to update a channel 50 times a second, that is faster than your allowed update rate. If the device did check the response, it would notice that it got a '0' response back indicating that the channel was not updated.

In the case of closing the connection before ThingSpeak sent a response code back, a HTTP 499 status code would be sent back, but, because the device wasn't leaving the connection open, this was not known to the device.

It is strongly recommended that you consider using the ThingSpeak library from GitHub - mathworks/thingspeak-arduino: ThingSpeak Communication Library for Arduino, ESP8266 and ESP32</ti for updating ThingSpeak channels from devices like Arduino, ESP8266, Particle Photon, Particle Electron, etc. The library provides a higher level API and manages the connections for you.

If you are noticing that your channels are no longer being updated by your Arduino or ESP8266 device, consider:

  1. Modifying your code to use the library

OR

  1. Modifying your code to wait till it gets a HTTP response code from ThingSpeak, or, at the very least waiting for 1 second before closing the connection and/or putting the device to deep sleep mode."

I have a number of devices that are at remote sites recording data for a research project, that are now not reporting.