Cosm is a secure platform for Internet of Things devices and products. Its API and web service provide real-time control and data storage.
Unfortunately on these days cosm.com does not provide any software to download a datastream data, so i've build this script, which use cosm api to download datapoints of a datastream.
Before launch the script, you have to open the script with an editor and setup some parameters.
#setup your cosm account data here
#set cosm key
COSM_APIKEY="YOUR_COSM_APIKEY_HERE"
#set cosm feed id
COSM_FEEDID=YOUR_FEED_ID_HERE
#set cosm datastream
COSM_DATASTREAM=YOUR_DATASTREAM_HERE
#download datastream backward from DATETO to DATEFROM, with datapoint interval of INTERVAL (seconds), and backward step of DATEINTERVAL (hour)
#cosm history interval request
INTERVAL=0
#get backward from DATETO to DATEFROM
DATEFROM=datetime(2012,12,5,15,45,0)
DATETO=datetime(2012,12,8,15,45,0)
#interval between requested data (in hour)
DATEINTERVAL=1
#output file name, and conversion (date) to csv format
#set output file
OUTFILE="out.csv"
#convert cosm data
CONVERTDATA=1
Code
Notes
- read risk disclaimer
- excuse my bad english
Hello,
ReplyDeleteThis is exactly the script I am looking for. However I can not seem to get it to work. Could you provide further documentation on DATEINTERVAL and INTERVAL. I have irregularly spaced data points that average to a 30 second spacing. I would like all points for the last month.
Thanks
this script use the historical query api, here you should find all info about this query: https://cosm.com/docs/v2/history.html
ReplyDeleteDATEINTERVAL is the interval between requested data, expressed in hour.
if you are looking for data from 2012,12,5,15,45,0 to 2012,12,8,15,45,0 with a DATEINTERVAL of 1, the script will take point from 2012,12,8,14,45,0 to 2012,12,8,15,45,0 then 2012,12,8,13,45,0 to 2012,12,8,14,45,0 and so on.
INTERVAL to 0 means that all datapoints are downloaded, if you have 60 seconds datapoint and you want 2 minutes datapoint to download, use INTERVAL 120.