ThingSpeak Integration: not all fields are being updated

If testing by shielding the device, disabling the gateway, or changing the SF proves that some rate limiting is active, but if returning null does not help: maybe a Validator can be used to suppress forwarding empty results to ThingSpeak. However, in V3 support for that will be dropped, so this would be temporary then.

Something like:

// UNTESTED; not sure if this actually stops integrations or MQTT
// from being triggered. Also, support will be dropped in V3.
function Validator(converted, port) {
  // Suppress further handling if the number of fields is zero
  return Object.keys(converted).length > 0;
}

If some rate limiting is active (and applies to both the integration and MQTT), and the above doesn’t help either, then you’d need an intermediate server to collect the results for step 1 through 7, and only forward all collected data to ThingSpeak after receiving step 7 (or after some timeout).

Of course, it would be best if the device would not need a whopping 7 transmissions to get its data through, and would not transmit data that is not of your interest to start with… :frowning: