Cumulus MX Local API: Difference between revisions
No edit summary |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
There are two methods of calling the Cumulus MX local API (note the web tag names are case sensitive just like normal): |
There are two methods of calling the Cumulus MX local API (note the web tag names are case sensitive just like normal): |
||
== HTTP GET == |
== General API - 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. |
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. |
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. |
||
Line 16: | Line 16: | ||
⚫ | |||
⚫ | |||
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. |
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. |
So you could send a simple comma separated list, or some JSON text, or XML, whatever. |
||
Line 41: | Line 40: | ||
"FeelsLikeYest":18.4 |
"FeelsLikeYest":18.4 |
||
} |
} |
||
== Predetermined Data == |
|||
=== Graph Data === |
|||
Cumulus MX will return graph data on request, it is formatted as JSON, please refer to this page [[API Graph Data]] |
|||
=== Records Data === |
|||
Cumulus will return weather records on request, it is formatted as JSON, please refer to this page [[API Records Data]] |
|||
=== Today/Yesterday Data === |
|||
Cumulus will return weather data on request, it is formatted as JSON, please refer to this page [[API Today/Yesterday Data]] |
|||
=== Extra Sensor Data === |
|||
Cumulus will return weather data on request, it is formatted as JSON, please refer to this page [[API Extra Sensor Data]] |
|||
=== Reports Data === |
|||
Cumulus will return NOAA reports on request, it is formatted as an array of strings. You can also request that Cumulus MX regenerate an NOAA report on demand, please refer to this page [[API NOAA Reports]] |
|||
=== Data Logs === |
|||
Cumulus will return data from its log files on request. You can request data from... |
|||
* dayfile |
|||
* a monthly log file |
|||
* the extra sensors log file |
|||
* weather diary data |
|||
* a selection of current data |
|||
Please refer to this page [[API Data Logs]] |
Revision as of 16:06, 18 October 2020
There are two methods of calling the Cumulus MX local API (note the web tag names are case sensitive just like normal):
General API - 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...
{"temp":"15.8","hum":"73","dew":"10.5"}
Note, ALL values are quoted as strings as it is difficult to know which are numeric and which are not.
General API - 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..
<#time format="yy/MM/dd hh:mm:ss">,<#temp>,<#RecentFeelsLike d=1>
would return...
20/07/14 01:48:11,15.7,18.4
or
{ "DateTime:"<#time format="yy/MM/dd hh:mm:ss">", "OutsideTemp":<#temp>, "FeelsLikeYest":<#RecentFeelsLike d=1> }
would return...
{ "DateTime:"20/07/14 01:50:56", "OutsideTemp":15.7, "FeelsLikeYest":18.4 }
Predetermined Data
Graph Data
Cumulus MX will return graph data on request, it is formatted as JSON, please refer to this page API Graph Data
Records Data
Cumulus will return weather records on request, it is formatted as JSON, please refer to this page API Records Data
Today/Yesterday Data
Cumulus will return weather data on request, it is formatted as JSON, please refer to this page API Today/Yesterday Data
Extra Sensor Data
Cumulus will return weather data on request, it is formatted as JSON, please refer to this page API Extra Sensor Data
Reports Data
Cumulus will return NOAA reports on request, it is formatted as an array of strings. You can also request that Cumulus MX regenerate an NOAA report on demand, please refer to this page API NOAA Reports
Data Logs
Cumulus will return data from its log files on request. You can request data from...
- dayfile
- a monthly log file
- the extra sensors log file
- weather diary data
- a selection of current data
Please refer to this page API Data Logs