The scenario you outlined is pretty much exactly what Pinoccio was designed for. Some things Pinoccios can do that some of our compatriots cannot do, include built-in inter-node networking--so any device can communicate with any other device, with or without Internet access. (A bit more detail, our mesh networking stack supports point-to-point/unicast, broadcast from one to all boards, and multicast, from one to a group of boards. This makes auto-reporting super simple--and supports both a pub-sub architecture and a request-response one.)
If you have a Lead Scout in your Pinoccio network, then any change on any board will be pushed up to the API in JSON format, along with a timestamp. Here's what one of my outputs looks like on an environmental backpack I'm working on at the moment:
Here you see that my scout #7, that's in troop/mesh network #1 output a custom report for humidity, and that value is 32% RH. The
at key is the timestamp in ms since the Scout first started up, and the
time key is the timestamp since epoch, in ms.
To get more info on how you'd tell a Scout to do a thing, directly from another Scout, check out these commands that you can run directly from the console or via the HQ command window: https://docs.pinocc.io/scoutcommands.html#command-scout
Do holler if you have more questions! Happy to get them answered.