Ver 3.7.0 web tag API
Posted: Tue 28 Jul 2020 10:59 am
The tag processor API means that you no longer have to generate files to use web tags, you can request web tags values on demand. Obviously this creates an overhead on Cumulus so use this feature wisely.
There are two methods of calling the new API (note the tag names are case sensitive just like normal):
HTTP GET
This provides a quick and simple method of getting data, you just provide the web tag names in the GET URL and MX returns a simple JSON string with the tag-name:tag-value pairs.
The tags are always returned with the default format. You can specify a special parameter "rc" (which must be the first URL parameter) to apply the usual remove commas format to all the tags.
eg.
http: //localhost:8998/api/tags/process.json?temp&hum&dew
or
http: //localhost:8998/api/tags/process.json?rc&temp&hum&dew
Which will return the following format string in the body...
Note, ALL values are quoted as strings as it is difficult to know which are numeric and which are not.
HTTP POST
The POST method allows you to put whatever text you like in the request body - and include any web tags plus formatting you wish. The string returned will be exactly the same text with the tags substituted with data.
So you could send a simple comma separated list, or some JSON text, or XML, whatever.
eg.
http: //localhost:8998/api/tags/process.txt
With a POST body text of..
would return...
Another example
would return...
Have fun!
There are two methods of calling the new API (note the tag names are case sensitive just like normal):
HTTP GET
This provides a quick and simple method of getting data, you just provide the web tag names in the GET URL and MX returns a simple JSON string with the tag-name:tag-value pairs.
The tags are always returned with the default format. You can specify a special parameter "rc" (which must be the first URL parameter) to apply the usual remove commas format to all the tags.
eg.
http: //localhost:8998/api/tags/process.json?temp&hum&dew
or
http: //localhost:8998/api/tags/process.json?rc&temp&hum&dew
Which will return the following format string in the body...
Code: Select all
{"temp":"15.8","hum":"73","dew":"10.5"}HTTP POST
The POST method allows you to put whatever text you like in the request body - and include any web tags plus formatting you wish. The string returned will be exactly the same text with the tags substituted with data.
So you could send a simple comma separated list, or some JSON text, or XML, whatever.
eg.
http: //localhost:8998/api/tags/process.txt
With a POST body text of..
Code: Select all
<#time format="yy/MM/dd hh:mm:ss">,<#temp>,<#RecentFeelsLike d=1>Code: Select all
20/07/14 01:48:11,15.7,18.4Another example
Code: Select all
{
"DateTime:"<#time format="yy/MM/dd hh:mm:ss">",
"OutsideTemp":<#temp>,
"FeelsLikeYest":<#RecentFeelsLike d=1>
}Code: Select all
{
"DateTime:"20/07/14 01:50:56",
"OutsideTemp":15.7,
"FeelsLikeYest":18.4
}