Latency

Rather than use a timeswitch could the imp itself to do a test for connectivity that triggers a relay to recycle everything?

It can do on the next release, yes, but you shouldn’t need it. There are automatic reconnect semantics, which you can override with your own (eg: attempt connection for 10 seconds vs 60).

My latency logger again stopped working (after about 6 hours this time), while it was sending updates to xively through its agent every minute. I don’t see any online->offline message in my log, the log just stopped after 6 hours, and since then no new message appeared (by now its 8 hours without any activity).
I have to power cycle the imp to get it back up again. In a remote sensing application (using solar power for example) this is no option. Will this kind of behaviour be fixed in release 23?

That could be the imp, but if it did go offline then you would have seen an offline message - that’s server generated. We have had no issue with devices logging data for many many months on versions previous to 17, which is likely the one you have. Release 25 absolutely improves wifi stability, but that didn’t affect every wifi setup.

The solar powered devices we’ve built tended to sleep/wake (for power conservation) which means they boot cleanly and re-establish wifi for every transmission, which is “easier” from a stability point of view that constantly staying connected - you’re not going to run into NAT timeouts or upstream routers changing IP, for example.

One other thing: we’ve seen Cosm throttle/blacklist devices sending data “too frequently”. Every minute doesn’t sound too frequent, but the minimum allowed period wasn’t documented anywhere I could find. Not sure if the new Xively API specifies this anywhere?

for me, Cosm didn’t complain with an update of about 15 channels every 20-30 seconds

I think it’s per channel; we definitely saw issues below 20 seconds (ie, it’d just not accept the data) but this was a while ago - they’ve definitely changed their backend significantly and I’ve not retested (we were sending temp & humidity in 2 separate requests every interval).

Xively specifies the API limits for their free developer account on https://xively.com/pricing/ as follows:

Development devices store data for 30 days.
Developer Account API limit 25 API calls per minute, 3 minute moving average.

You can however update multiple channels in one API call, and you could even buffer samples (on the agent or on the device) and update them in a single call with timestamped values if you need more than 25 samples per minute per channel.