To follow the guide, you have to know how to send data to XOD Cloud Feeds.
The XOD Cloud Feeds service provides a feature to send bundled data so that it comes as an atomic portion with a single timestamp. It gives the option to see all the values on the same table and draw multiple time series on the same chart.
For example, you can track the temperature inside and outside of your house at the same time.
Also, that data may contain values of different types. Suppose you want to log temperature changes and whether the window is open at any given time. In this case, you can bundle these values with keys inside
, outside
and window-opened
and then see them in a table like this:
Date | inside | outside | window-opened |
---|---|---|---|
2019-11-29 12:00:01 | 24.1 | 16.0 | false |
2019-11-29 12:05:00 | 24.2 | 16.4 | false |
2019-11-29 12:10:00 | 24.1 | 16.5 | false |
2019-11-29 12:15:01 | 24.4 | 16.8 | false |
2019-11-29 12:20:00 | 23.9 | 17.4 | true |
2019-11-29 12:25:01 | 23.6 | 17.2 | true |
2019-11-29 12:30:01 | 23.2 | 16.5 | true |
And so on... |
To store the bundled data, use the same node, as usual, that is xod-cloud/feeds/cloud-store
. What changes is that you have to send values in the so-called JSON format. If the string passed to IN
contains a valid JSON, it would be parsed and stored as bundled data.
JSON is an open-standard format that uses a human-readable text to transmit data objects consisting of attribute-value pairs or arrays.
Here is an example of bundled data portion: {"inside": 22.1, "outside": 16.4, "window-opened": true}
.
If you send an array instead of an object, you will get the same result as above, but the columns will have names 0, 1, and 2. Example: [22.1, 16.5, true]
.
A JSON format is picky about quotes, forgotten or excessive commas, and so on. So if you see a JSON-like string in your feed, it means there are some mistakes.
Let’s make a patch that bundles these values and sends it to the feed.
If you want to reproduce this experiment but you don’t have such sensors, you can replace their nodes with tweak-number
and tweak-boolean
nodes. Do not forget to upload with the selected “Debug after upload” option to interact with tweak nodes.
Pay attention to the concat
node that we’re using to format JSON. Here is a little cheat sheet:
:
and ,
.Now you can upload the program and check out your feed. If you did everything right, you’d see the table like above.