Webtags (preserving history): Difference between revisions
m (→Monthly All Time Records: more typos) |
|||
(30 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Terminology]] |
[[Category:Terminology]] |
||
Please be aware some content originally on this page has been moved to other pages. Old posts on the support forum that used to link directly to the specific material, will instead bring you to this start of the page. |
|||
The new links to material that has been moved off this page can be found approximately where the material used to be within two sections on this page: [#Input Modification Parameters and Output Modification Parameters]] and [[#The tag name]]. |
|||
=Essential Background Reading= |
|||
If you have not used this Wiki page before, or are unsure about using "web tags", there are some concepts that you do need to understand in the sub-sections that follow. |
|||
<div style="background: LemonChiffon;padding:5px; margin:2px;"> |
<div style="background: LemonChiffon;padding:5px; margin:2px;"> |
||
[[File:Crystal Clear info.png|40px]] |
[[File:Crystal Clear info.png|40px]] |
||
From release 3.10.1, |
|||
:if you use the [[New_Default_Web_Site_Information|default web site]], then web tags are provided to your web server using the [[WebsitedataT.json]] file, so see those 2 linked pages if you are interested in the default web pages. |
:if you use the <big>[[New_Default_Web_Site_Information|default web site]]</big>, then web tags are provided to your web server using the <big>[[WebsitedataT.json]]</big> file, so see those 2 linked pages if you are interested in the default web pages. |
||
<br> |
<br> |
||
Line 12: | Line 19: | ||
</div> |
</div> |
||
==What is a web tag? == |
|||
Weather values are always changing, so Cumulus needs a way for you to tell Cumulus to enter the current value for a particular derivative, when it is [[Customised_templates#What_is_meant_by_.27Cumulus_processes_templates.27|processing templates]]. |
|||
=Introduction= |
|||
==General Format for Web Tags== |
|||
This page was written in August 2009, to list the tags for the (legacy) Cumulus 1 software. |
|||
In the position, in any template file, SQL, or Custom HTTP, where Cumulus is to insert the relevant data, place a web tag in the '''general format''' specified here: <code><#tag_name [optional input selection parameters] [optional output modification parameters]></code> |
|||
Initially, there were going to be further pages to explain individual web tags, e.g. [[Forecast_webtag]]; but that idea was never completed. |
|||
===The optional parameters=== |
|||
This page was updated to cover MX, when it came out of beta (3.0.0), and <div style="background: LemonChiffon;padding:5px; margin:2px;">this page currently covers legacy 1.9.4, and MX up to '''3.12.0'''</div> |
|||
The terminology "optional" is used because some tag names do not accept any parameters, but there are some tag names where a parameter is mandatory. Therefore, check the [[Webtags/Parameters|web tag parameters]] page to learn whether a web tag name you find here requires a mandatory parameter, or to find out which parameters are optionally available. |
|||
==What is a web tag? == |
|||
The tables of tag names that appear later on this page will seldom give any information about which parameters are mandatory or optional. There are tables on the other page referenced above that help you to understand what parameters the various tag names accept, explain each of the parameters available, and give examples. |
|||
Put simply, a web tag is included in a [[Cumulus template file]] to indicate where Cumulus should insert values when it produces an output file. The concept of [[Customised_templates#What_is_meant_by_.27Cumulus_processes_templates.27|processing templates]] is explained in another article. |
|||
There is a basic guide to what these parameters can do, and another link to the new page at [[#Input Modification Parameters and Output Modification Parameters]] later on this page. |
|||
==Template files can create many types of file== |
|||
{{TOCright}} [[Category:Cumulus 1]] |
|||
The output file can be: |
|||
* a [[Customised_templates#HTML_5_-_a_very_quick_guide_to_structure|web page]], |
|||
* a [[Php_webtags#Option_3:_JavaScript_Object_Notation|JavaScript Object Notation (.json) file]] |
|||
* a [[Feels_Like#HTML_code_to_translate_web_tags_to_JavaScript_variables_.28as_modified_for_additional_parameters.29|JavaScript file]], |
|||
* a [[PHP]] script file, or |
|||
*a [[Xml_webtags|eXtensible Mark-up Language (XML)]] file. |
|||
===The tag names=== |
|||
==General Format for Web Tags== |
|||
<div style="background: LemonChiffon;padding:5px; margin:2px;">All the "tag_names" that are available for legacy 1.9.4, and for MX up to release '''3.12.0'''</div> are in [[#Full List of Tag Names]] later on this page. |
|||
In the position in any template file where Cumulus is to insert the relevant data, place a web tag in the '''general format''' specified here: <pre><#tag_name [optional input selection parameters] [optional output modification parameters]></pre> |
|||
As Cumulus has developed, more tag names have been introduced, the tables showing tag names available, attempt to give an indication of which release introduced them. The information that used to appear on this page for differences between MX and the legacy Cumulus has been moved to a new [[Webtag Applicability|Web tag Applicability page]]. |
|||
To find out what is allowed for '''tag_name''', see the various tables later on this page. |
|||
For tag names available in the release you are using, see the next sub-section. |
|||
To find out what is allowed for the '''input selection parameters''' and '''output modification parameters''', refer to [[Webtags/Parameters|web tag parameters]] page. |
|||
If you are using a Oregon Scientific weather station, then you should read [[#Web tags mentioning (outside) temperature]] in the optional reading section. |
|||
==What this page covers == |
|||
====General Tip==== |
|||
{{TOCright}} |
|||
#At the last count, a 3.5.x version of MX produces ''nine and a half million'' '''web tags'''! |
|||
# Those millions of web tags can actually produce billions of different outputs! |
|||
#But the file mentioned in previous section contains just 717 items (at 3.5.0, later versions of MX raise this count by another forty tags or so). |
|||
#How come this discrepancy? |
|||
''This sub-section applies to releases up to 3.11.4.'' (From 3.12.0, use the admin interface and Station settings → Common Options → Advanced options, to get to where you change this setting, instead of editing the file as described below). |
|||
*Well each web tag has the general format <tt><#tag_name optional_input_parameter optional_output_parameter></tt> and it is adding the optional input parameters that allow 717 tag names to define 9½ million values! |
|||
*Adding all possible different output parameters generates the billions of different outputs! |
|||
The tag names available in the release/version/build you are using, can be listed (in Cumulus 1 or Cumulus MX) by adding the following line to [[Cumulus.ini#Section:_Station|Cumulus.ini]] in the [station] section... |
|||
Consequently, this article describes: |
|||
<code>ListWebTags=1</code> |
|||
*Over 7 hundred web tags -'''THIS ARTICLE MAY NOT CONTAIN ALL WEB TAGS AVAILABLE IN LATEST VERSION - It depends on someone updating this article if the developer does not have time to do so''' |
|||
Then start Cumulus and it will create a file called WebTags.txt in the same folder as where the executable is found. That file will list all the tags your build of Cumulus can currently generate. This list only contains the tag_names, it does not indicate what parameters they can take, nor does it include the brackets the tag name is surrounded by when you quote it in a template file for Cumulus to process. |
|||
==What is covered on another page== |
|||
To stop Cumulus continuing to produce new versions of that file change the line to say ... |
|||
The parameters you can use with web tags are explained on the [[Webtags/Parameters|parameters page]], there you can discover: |
|||
<code> ListWebTags=0</code> |
|||
*A score of input parameters that modify some of those tags (meaning some web tags can represent 12 different months for example) |
|||
*The components that make up output parameters (a guide to how you modify the output format) |
|||
**how to control number of decimal places |
|||
**how to control whether decimal comma (if used) is replaced by decimal point (useful for some script languages) |
|||
**the majority modify the output from almost all web tags that report a time and/or date (there are so many ways to represent times and dates this multiples up the available output considerably) |
|||
[[File:Badge v1.png]] If you are using Cumulus 1, each build of that contains a build specific version of Cumulus Help, and within that help is a list of web tags with basic information on what each tag_name returns. |
|||
[[File:Badge vMx.png]] MX bug: The inclusion of a web tag in the list produced by this instruction, does not mean that web tag is actually populated with valid information. See https://cumulus.hosiene.co.uk/viewtopic.php?p=153096#p153096 for an example. |
|||
The tables below are not able to indicate which of the billions of combinations possible are valid or invalid for particular tag names nor for particular release versions.. |
|||
===The functionality that can use web tags=== |
|||
==Applicability by flavour, and by release version and build== |
|||
In the legacy Cumulus software, the only functionality that could use this was [[#Template files can create many types of file|the Cumulus template file]] used to provide data to a web server. That is why Steve Loft, the author of that software named them web tags. |
|||
Full support is available via the support forum at https://cumulus.hosiene.co.uk/viewforum.php?f=40 for the latest MX release. Given that some users may still be running an older MX release, where possible any web tag listed below for MX indicates at which release it first became available. |
|||
MX has extended the use of these web tags, they can now be inserted into a [[MX_Administrative_Interface#MySQL_settings|SQL commands]], Custom HTTP, [[#The web tag application programming interface|application programming interface]], as well as [[#Template files can create many types of file|template files]]. |
|||
The output file can be: |
|||
There is limited support available for Cumulus 1.9.4, but on this page every attempt is made to indicate which version of the legacy software introduced any web tag listed below as being available in the legacy software. |
|||
* a [[Customised_templates#HTML_5_-_a_very_quick_guide_to_structure|web page]], |
|||
* a [[Php_webtags#Option_3:_JavaScript_Object_Notation|JavaScript Object Notation (.json) file]] |
|||
* a [[Feels_Like#HTML_code_to_translate_web_tags_to_JavaScript_variables_.28as_modified_for_additional_parameters.29|JavaScript file]], |
|||
* a [[PHP]] script file, or |
|||
*a [[Xml_webtags|eXtensible Mark-up Language (XML)]] file. |
|||
=Optional Background Reading= |
|||
Various approaches are trialled in the list for indicating which flavours a web tag exists for. The [[Webtags#Davis|Davis]] section has a column that indicates the applicability. Other sections with more web tags use pink section headings to identify their applicability to the flavours. Finally, there are some individual entries where '''C1''' and '''MX''' symbols are used to indicate applicability. |
|||
==Web tags mentioning (outside) temperature== |
|||
There is some more information on [[Webtag Applicability|Web tag Applicability page]]. |
|||
'''For Oregon Scientific weather stations using, either USB connections''' (e.g. WMR-200), or serial connections (e.g. WMR-928), that can have multiple temperature sensors, it is possible to configure which sensor the outdoor temperature (for which daily and longer period extreme records are maintained) is read from, by following this set of instructions originally supplied by Steve Loft: |
|||
# Stop Cumulus in the normal way |
|||
# Use a text editor to edit the file called ''Cumulus.ini'' |
|||
# Scroll down to the line that contains '''[Station]''' |
|||
# Create a blank line below it by pressing ''Return'' |
|||
# In that new line, type the command shown in the relevant code box below, type the attribute and equals sign exactly as shown without spaces (regardless of your exact model), |
|||
#* USB connections → <code>WMR200TempChannel=N</code> |
|||
#* Serial connections → <code>WMR928TempChannel=N</code> |
|||
# Now edit the value shown after the equals sign, replace ''N'' with the relevant number from the following list: |
|||
#* To use the main sensor, replace N with '''0''' (or don't bother with this procedure, as that is default) |
|||
#* To use Extra Temp 1 sensor, replace N with '''1''' |
|||
#* To use Extra Temp 2 sensor, replace N with '''2''' |
|||
#* and so on, up to a possible maximum (check with your weather station, but Cumulus can accept up to 12) |
|||
# Save the file, and exit |
|||
# Restart Cumulus in the normal way |
|||
'''For other weather stations''', the main outdoor temperature sensor is used for what is reported for current value, daily extremes, and longer period extreme records. This temperature is also used for calculation of derived values such as Australian Apparent Temperature, Canadian Humidity Index, and USA Heat Index. |
|||
==Input Modification Parameters and Output Modification Parameters== |
|||
In [[#Scary_statistics]] section of this page, it is explained how less than a thousand [[#Full List of Tag Names|tag names]] as they are only part of the [[#General Format for Web Tags]] become billions of web tags, simply by adding modifiers. |
|||
The modifiers available used to be listed on this page (so if you select the history tab for this page, you will find references to their introduction and growth). There are some advantages in moving them to the new [[Webtags/Parameters|web tag parameters]] page: |
|||
* This page is very long, even without the parameters |
|||
* There would be a lot of repetition if you attempted to say beside each tag name which modification parameters were available. |
|||
* Having them on separate pages means you can have two tabs (or two separate browsers) open so you can see both the tag name and the modifier parameter by flicking between tabs,instead of lots of scrolling. |
|||
* MX has introduced many more input and output modification parameters, it is easier to maintain a separate page (and easier for reference if you just want to refresh your mind on new modification parameters). |
|||
For just a taste, there you can discover: |
|||
* A score of [[Webtags/Parameters#Input_modification_Parameters|input modification parameters |
|||
** For example, find which attribute is used with a value between 1 and 12, so the same tag name can give values for 12 different months) |
|||
* If your locale normally (in real numbers) uses an integer part, then a comma, and then the decimal part, you should be aware that some computer scripts, and some external servers where you might want to send data, insist on a decimal point, instead of a decimal comma: |
|||
** If you have installed a recent MX release, then [[Webtags/Parameters#Output_Modification_Parameter_for_changing_any_decimal_comma_into_a_decimal_point|change decimal comma to decimal point]] with a simple "y" value to another attribute |
|||
** If you have the legacy Cumulus 1 installed, stay on this page and look at [[#No_Commas]], as you have to use the restricted alternative set of tag names. |
|||
* How to [[Webtags/Parameters#Two_Output_.28format_modifier.29_parameters_for_decimal_places|control number of decimal places]] in any real number output |
|||
* All about the complex subject of modifying the way a '''duration''', a ''date'', or a '''clock time''' is output by looking [[Webtags/Parameters#Multiple_Output_Format_Modifier_parameters_for_times_and_dates|here]] |
|||
== Why does MX talk about tokens? == |
== Why does MX talk about tokens? == |
||
Line 82: | Line 123: | ||
MX uses a '''token parser''' to read the web tags and replace them with the correct value, so if diagnostic output refers to tokens, it is saying the attempt to actually work out what content to return to replace the web tag with its tag name and parameters has encountered a problem. |
MX uses a '''token parser''' to read the web tags and replace them with the correct value, so if diagnostic output refers to tokens, it is saying the attempt to actually work out what content to return to replace the web tag with its tag name and parameters has encountered a problem. |
||
==Scary statistics== |
|||
=GENERAL TIP= |
|||
# The 3.5.0 release of MX defines 9½ million values that can be represented using '''web tags'''! |
|||
The web tags available in the version/build you are using, can be listed (in Cumulus 1 or Cumulus MX) by adding the following line to [[Cumulus.ini#Section:_Station|Cumulus.ini]] in the [station] section... |
|||
# At 3.5.0, there are only 717 options for the '''tag_name''' in the general format given above. |
|||
# How come this discrepancy? |
|||
# That discrepancy is purely because some of those 717 tag names can be associated with input parameters, (and for Oregon Scientific stations,you can select which sensor is used for outside temperature), these modifications affect what value is selected to be output by the web tag leading to the large number |
|||
# These millions of web tags can actually produce billions of different outputs! |
|||
# How come this second discrepancy? |
|||
# Well adding all possible different output parameters generates the billions of different ways to output the millions of values! |
|||
The statistics quoted above keep increasing as MX is developed, the last time I checked, there were another forty or so tag names, and lots more parameters, so the alternatives are probably well over ten billion now. |
|||
== Brief history of this page== |
|||
ListWebTags=1 |
|||
This page was created in August 2009, to list the tags for the (legacy) Cumulus 1 software. Initially, there were going to be further pages to explain individual web tags, e.g. [[Forecast_webtag]]; but that idea was never completed. |
|||
Then start Cumulus and it will create a file called WebTags.txt in the same folder as where the executable is found. That file will list all the tags your build of Cumulus can currently generate. This list only contains the tag_names, it does not indicate what parameters they can take, nor does it include the brackets the tag name is surrounded by when you quote it in a template file for Cumulus to process. |
|||
When MX came out of beta (3.0.0), it has been developing rapidly, as the statistics above suggest, the number of web tag names and input/output modification parameters, to document became too much for one Wiki page, hence the moving of all documentation about modification parameters to a sub-page. There are still a lot of web tag names to document on this page, and separation into a number of pages was considered, but it is easier to have just one page to refer in answers to questions raised in the forum. |
|||
An example of the output for an early MX version is at the end of this page (the actual output does not include commas, and has just one item per line, it has been compressed for inclusion in this article). |
|||
==Still got questions?== |
|||
To stop Cumulus continuing to produce new versions of that file change the line to say ... |
|||
Full support is available via the support forum at https://cumulus.hosiene.co.uk/viewforum.php?f=40 for the latest MX release. Given that some users may still be running an older MX release, where possible any web tag listed below for MX indicates at which release it first became available. |
|||
ListWebTags=0 |
|||
There is limited support available for Cumulus 1.9.4, but on this page every attempt is made to indicate which version of the legacy software introduced any web tag listed below. |
|||
{{Version badge 1}}If you are using Cumulus 1, each build of that contains a build specific version of Cumulus Help, and within that help is a list of web tags with basic information on what each tag_name returns. |
|||
==The web tag application programming interface== |
|||
[[File:Badge vMx.png]] MX bug: The inclusion of a web tag in the list produced by this instruction, does not mean that web tag is actually populated with valid information. See https://cumulus.hosiene.co.uk/viewtopic.php?p=153096#p153096 for an example. |
|||
=The web tag application programming interface= |
|||
[[File:Badge vMx.png]] Available from version 3.7.0 (build 3089) released 28 July 2020. It was proposed in January 2015, see Steve Loft [https://cumulus.hosiene.co.uk/viewtopic.php?p=101496#p101496 plan to add a call where you supply a list of items (probably web tag names), and you get back the equivalent data]. |
[[File:Badge vMx.png]] Available from version 3.7.0 (build 3089) released 28 July 2020. It was proposed in January 2015, see Steve Loft [https://cumulus.hosiene.co.uk/viewtopic.php?p=101496#p101496 plan to add a call where you supply a list of items (probably web tag names), and you get back the equivalent data]. |
||
== Where to use |
=== Where to use=== |
||
This is meant for services either on the same computer as Cumulus or on your local network. It is not secure, and should not be available, nor requested, via any external network or the internet. |
This is meant for services either on the same computer as Cumulus or on your local network. It is not secure, and should not be available, nor requested, via any external network or the internet. |
||
The [[Cumulus_MX_Local_API|MX Administrative Interface]] uses some application programming interface (api) calls to obtain the data each web page in that interface needs, and if you are making an edit, another api to return the results of any edit made. |
|||
The [[MX Administrative Interface]] uses some application programming interface (api) calls to obtain the data each web page in that interface needs, and another api to return the results of any edit made. If you wanted your '''CumulusMX/interface/todayyest.html''' web page to include something else (e.g. snow falling/lying/depth) you would edit that HTML page to have the extra sub-table you want (you cannot extend the existing rainfall table as that is dynamically created by existing api) and you would edit the associated JavaScript file '''CumulusMX/interface/js/todayyest.js''' to add a new api call seeking snowdepth, snowfalling, snowlying tags for today (unfortunately there are no tags for yesterday's snow) and to place the returned values into your new sub-table (probably using jQuery to make it easy). In a similar way, you could add anything where today and yesterday tags are available such as UV Index. |
|||
If you wanted your '''CumulusMX/interface/todayyest.html''' web page to include something else (e.g. snow falling/lying/depth) you could edit that HTML page to have the extra sub-table you want (you cannot edit the existing rainfall table as that is dynamically created by existing api). Then you could edit the associated JavaScript file '''CumulusMX/interface/js/todayyest.js''' to add a new api call seeking snowdepth, snowfalling, snowlying tags for today (unfortunately there are no tags for yesterday's snow) and to place the returned values into your new sub-table (probably using jQuery to make it easy). In a similar way, you could add anything where today and yesterday tags are available such as UV Index. |
|||
In earlier versions of Cumulus if you wanted to make use of values processed by Cumulus, you wrote a script file referencing the web tags you wanted to use, and let Cumulus process that file at an interval set in the settings, then you had to write something to process the results at the relevant interval. Now if you are running other software on your device that runs MX (or a computer or other device linked directly on your personal network), you can request web tags values on demand via an application programming interface (api hereafter) and don't need to worry about any timing issues. |
|||
In earlier versions of Cumulus if you wanted to make use of values processed by Cumulus, you wrote a script file referencing the web tags you wanted to use, and let Cumulus process that file at an interval set in the settings, then you had to write something to process the results at the relevant interval. Now if you are running other software on your device that runs MX (or a computer or other device linked directly on your personal network), you can request web tags values on demand via an application programming interface ('''api''' hereafter) and don't need to worry about any timing issues. |
|||
Obviously each api request creates a processing overhead on Cumulus so use this feature wisely (minimise the information you request and minimise the frequency of requesting it). You can use it for extra current information, but in that usage you might need to repeat the call. Consequently, maybe it is more likely that the api will be used to request information that does not keep changing, such as what units are being used for temperature, rainfall, and wind speed; or perhaps daily, monthly, or yearly, summary figures. |
Obviously each api request creates a processing overhead on Cumulus so use this feature wisely (minimise the information you request and minimise the frequency of requesting it). You can use it for extra current information, but in that usage you might need to repeat the call. Consequently, maybe it is more likely that the api will be used to request information that does not keep changing, such as what units are being used for temperature, rainfall, and wind speed; or perhaps daily, monthly, or yearly, summary figures. |
||
Line 117: | Line 164: | ||
Each admin interface web page uses api techniques for all the information it needs. Some api calls are repeated with AJAX requesting updates for the weather information on a frequent basis, but each page has another api request that is issued just once for the version and build being used. To my mind, the design of '''CumulusMX/interface/todayyest.html''' is crazy. The HTML appears to have a table structure, but that table structure is overwritten by each repeating api. So every time AJAX repeats that api call it returns in json format the whole table definition as well as table cell contents, despite that much of that json (all that HTML defining table header, table rows, table cells, etc.; and the units for each value) does not change and it is only some values and times buried within the json in the api that actually might change (and of those half of them, the yesterday values and times only change once a day). In some code I wrote (but later abandoned) I made use of the api calls that support the '''CumulusMX/interface/todayyest.html''' web page to get the units I wanted on another interface page, but I only called it once as it returned a lot of other information (as just mentioned) that I did not need. I later found a better way, as in example below, which gives me just what I need and no more. |
Each admin interface web page uses api techniques for all the information it needs. Some api calls are repeated with AJAX requesting updates for the weather information on a frequent basis, but each page has another api request that is issued just once for the version and build being used. To my mind, the design of '''CumulusMX/interface/todayyest.html''' is crazy. The HTML appears to have a table structure, but that table structure is overwritten by each repeating api. So every time AJAX repeats that api call it returns in json format the whole table definition as well as table cell contents, despite that much of that json (all that HTML defining table header, table rows, table cells, etc.; and the units for each value) does not change and it is only some values and times buried within the json in the api that actually might change (and of those half of them, the yesterday values and times only change once a day). In some code I wrote (but later abandoned) I made use of the api calls that support the '''CumulusMX/interface/todayyest.html''' web page to get the units I wanted on another interface page, but I only called it once as it returned a lot of other information (as just mentioned) that I did not need. I later found a better way, as in example below, which gives me just what I need and no more. |
||
== "GET" approach == |
=== "GET" approach === |
||
You may have used GET as an attribute when defining the action of a HTML form. Equally you might in a script language access the query-string part of a Universal Resource Locator to get parameters for what the script is to supply to the web page. Even if you don't understand the meaning of those technical terms, you probably have seen when using a browser (in the box where a URL is entered) that sometimes the URL seen there has a query-string. You will have seen a question mark (?) followed by one or [separated by ampersand (&)] more '''name=value''' parameters. |
You may have used GET as an attribute when defining the action of a HTML form. Equally you might in a script language access the query-string part of a Universal Resource Locator to get parameters for what the script is to supply to the web page. Even if you don't understand the meaning of those technical terms, you probably have seen when using a browser (in the box where a URL is entered) that sometimes the URL seen there has a query-string. You will have seen a question mark (?) followed by one or [separated by ampersand (&)] more '''name=value''' parameters. |
||
Full List of Tag Names |
|||
The GET approach to using the Cumulus general api works in this way indicating the start of a query-string with a question mark and using ampersands to separate names. The difference is that a tag name (or list of tag names) is used instead of a name=value parameter (or list of name=value parameters). However, when the Cumulus api returns the values they will be in attribute=value format. Therefore if (like example below) you are coding in JavaScript, what is returned is a JavaScript Object and you extract the values by specifying the Object name and the Attribute name. If that technical terminology confuses you, look at the example. |
The GET approach to using the Cumulus general api works in this way indicating the start of a query-string with a question mark and using ampersands to separate names. The difference is that a tag name (or list of tag names) is used instead of a name=value parameter (or list of name=value parameters). However, when the Cumulus api returns the values they will be in attribute=value format. Therefore if (like example below) you are coding in JavaScript, what is returned is a JavaScript Object and you extract the values by specifying the Object name and the Attribute name. If that technical terminology confuses you, look at the example. |
||
===Selecting values using GET=== |
====Selecting values using GET==== |
||
Suppose you want to get the values for the following three web tags: |
Suppose you want to get the values for the following three web tags: |
||
Line 146: | Line 193: | ||
If you are using the api in a context where it does not matter if decimal commas or decimal points are in the api or for any tags that don't report in real numbers, simply omit the '''rc''' as first item, and just include tag names separated by ampersands. |
If you are using the api in a context where it does not matter if decimal commas or decimal points are in the api or for any tags that don't report in real numbers, simply omit the '''rc''' as first item, and just include tag names separated by ampersands. |
||
=== JavaScript example === |
==== JavaScript example ==== |
||
Some people might feel the admin interface could be improved on some of its pages by showing additional information. It is possible from MX 3.7.0 to obtain extra information. |
Some people might feel the admin interface could be improved on some of its pages by showing additional information. It is possible from MX 3.7.0 to obtain extra information. |
||
Line 177: | Line 224: | ||
*The console.log command simply outputs all the items in the list within the brackets into the browser console that in many browsers is displayed by selecting '''F12''' on the keyboard. I included this instead of the lengthy rest of my code that uses the units to do the various calculations correctly. |
*The console.log command simply outputs all the items in the list within the brackets into the browser console that in many browsers is displayed by selecting '''F12''' on the keyboard. I included this instead of the lengthy rest of my code that uses the units to do the various calculations correctly. |
||
== "POST" approach == |
=== "POST" approach === |
||
The word "Post" in a computer environment means that the Hypertext Transfer Protocol (HTTP) used by the internet is being asked to transfer information enclosed in the body of the request message. Put slightly less technically in this approach you produce a text file with the details of what tags you want and send it to the api server. I suppose it is a bit like sending an email, its header (subject, author, date sent) is easy to view, but you need to open it to see what text is in the body. |
The word "Post" in a computer environment means that the Hypertext Transfer Protocol (HTTP) used by the internet is being asked to transfer information enclosed in the body of the request message. Put slightly less technically in this approach you produce a text file with the details of what tags you want and send it to the api server. I suppose it is a bit like sending an email, its header (subject, author, date sent) is easy to view, but you need to open it to see what text is in the body. |
||
Line 195: | Line 242: | ||
<br> |
<br> |
||
=<big> |
=<big>Full List of Tag Names</big> = |
||
{{Template:WorkInProgressBanner}} |
{{Template:WorkInProgressBanner}} |
||
This list only contains the tag_names, don't forget tag_names are only part of the [[#General Format for Web Tags]], for example in a template file you precede the tag name with <, you may need input parameters, you may need output parameters, and you end the full web tag with >. |
|||
Here follow tables indicating what web tags are available to be used, tables group them by the basic purpose of the tags listed. |
|||
it does not indicate what parameters they can take, nor does it include the brackets the tag name is surrounded by when you quote it in a template file for Cumulus to process. |
|||
== System == |
|||
Here follow tables that group the tag names by the basic purpose of the tags listed. There has been confusion in the past of tags appearing in more than one group, can contributors remove any remaining duplication, so future maintenance is easier. |
|||
Special tags returning information about the Windows device hosting Cumulus 1. |
|||
There is a table of contents near the top of the page that you might find useful if you are interested in a particular tag group. |
|||
[[File:Badge vMx.png]]''If you are running MX, then most tags do not work.'' |
|||
==Current Conditions== |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:150px" |Applicability |
|||
!style="width:600px" |Function |
|||
|- |
|||
|<#OsVersion> |
|||
|up to 1.9.4, and MX |
|||
|OS version, e.g. "Windows 7 x64 build 7600" |
|||
We start with tags that relate to the latest values, as these are the ones that people most often choose to use. The current condition data is also available, for processes external to Cumulus, by using the inbuilt facility to generate [[Realtime.txt|a file]] with such data. |
|||
Please note this may not return the information you expect! |
|||
|- |
|||
|<#OsLanguage> |
|||
|Both leagacy and MX |
|||
|OS language, e.g. "English" |
|||
|- |
|||
|<#SystemUpTime> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|How long the system has been up, e.g. "8 hours 21 minutes" |
|||
|- |
|||
|<#ProgramUpTime> |
|||
|all releases |
|||
|How long Cumulus has been running, e.g. "7 hours 55 minutes" |
|||
|- |
|||
|<#CpuName> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|CPU type, e.g. "Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz" |
|||
|- |
|||
|<#CpuCount> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|Number of processors, e.g. "4" |
|||
|- |
|||
|<#MemoryStatus> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|Free and total system RAM, e.g. "4619/8191 MB (free/total)" |
|||
|- |
|||
|<#DisplayMode> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|Screen display mode, e.g. "1680x1050, 32 bit" |
|||
|- |
|||
|<#AllocatedMemory> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|Amount of memory allocated to Cumulus, e.g. "18.76 MB" |
|||
|- |
|||
|<#DiskSize> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|Size of disk on which Cumulus is running, e.g. "931.51 GB" |
|||
|- |
|||
|<#DiskFree> |
|||
|{{Version badge 1}}(not available on MX) |
|||
|Free space on disk on which Cumulus is running, e.g. "515.36 GB" |
|||
|} |
|||
Cumulus software makes current values available for a standard range of sensors where the same web tags apply across a range of weather station models. |
|||
== Miscellaneous == |
|||
Both Cumulus 1 and MX offer current values from some [[#Extra Sensors|extra]] temperature and relative humidity sensors (see [[Extra temperatures]]) from particular weather station models. |
|||
All tags are available in all flavours, as far as I know, although ''their output might vary'', and which input/output parameters they permit might vary between Cumulus 1 and MX. |
|||
Recently, MX has been developed to support further extra sensors (see [[Extra Sensor Files]] page for full list of fields) and web tags have been added to support equivalent current values only. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:900px" | Function |
|||
|- |
|||
|<#LatestError> |
|||
|Displays the last error from the Cumulus 1 error log. (The value is cleared when you click the error light in Cumulus 1).<br /> |
|||
Note: This tag displays ''all'' errors, even if they do not cause the error light to flash in Cumulus 1. Although this tag and the next 3 are in MX, none of them are actually used (as at April 2020). |
|||
|- |
|||
|<#LatestErrorDate> |
|||
|The date of the latest error logged to the error log window, using the system short date format. Gives dashes when latest error is reset |
|||
|- |
|||
|<#LatestErrorTime> |
|||
|The time of the latest error logged to the error log window, using the system short time format. Gives dashes when latest error is reset |
|||
|- |
|||
|<#ErrorLight> |
|||
|1 if the 'error' light is flashing, 0 if not |
|||
|- |
|||
|<#version> |
|||
|The version of Cumulus in use e.g. '1.9.4' or '3.4.1' |
|||
|- |
|||
|<#build> |
|||
|The build of Cumulus in use e.g. '10992' for latest Cumulus 1 patch |
|||
==== Feels Like ==== |
|||
(Cumulus MX is under development so new builds are released frequently) |
|||
|- |
|||
|<#NewBuildAvailable> |
|||
|'''Only available from release 3.7.0''' onwards, it is checked on start-up and once a day thereafter at a random time |
|||
*Returns a boolean value |
|||
**0 - MX running the latest build available |
|||
**1 - MX is running an earlier build that the latest public release |
|||
|- |
|||
|<#NewBuildNumber> |
|||
|'''Only available from release 3.7.0''' onwards, it is checked on start-up and once a day thereafter at a random time |
|||
Feels like temperature was first made available, just for current conditions at MX version 3.5.4. In version 3.6.0. it was extended to add max/min for each day, each month, each year, and all time. In version 3.6.11 it was added to recent history. |
|||
Displays the latest public release build number - eg. b3089 |
|||
|- |
|||
|<#realtimeinterval> |
|||
|The real time update interval in seconds (integer) |
|||
|- |
|||
|<#interval> |
|||
|The web site update interval in minutes (integer) |
|||
|- |
|||
|<#rollovertime> |
|||
|The time that the logs rollover to the next day: will always return one of these: 'Midnight', '9 am' or '10 am' |
|||
This is the end of the meteorological day, so if during Daylight Saving Time rolover is at "10 am", then on the day DST ends it will return to "9 am" ensuring every meteorological day is exactly 24 hours long. If the time is "Midnight" (or during DST it is "9 am"), then days will be 23 or 25 hours long just on day clocks change, 24 hours otherwise. |
|||
|- |
|||
|<#update> |
|||
|The date and time of the last web site update. The default format of the output depends on your locale settings. |
|||
|- |
|||
|<#LastDataReadT> |
|||
|The date/time data was last read from the station. The default format of the output depends on your locale settings. |
|||
|- |
|||
|<#stationtype> |
|||
|The weather station [https://cumuluswiki.org/a/Cumulus.ini#Section:_Station model] description (you choose what text appears for this on 'Display' settings screen within Configuration menu - the field is at the bottom left of that screen). |
|||
|- |
|||
|<#latitude> |
|||
|The station [http://en.wikipedia.org/wiki/Latitude latitude] (as you entered during setup). |
|||
Supports an optional 'dp' parameter, if supplied, instead of the usual web-encoded text format with degrees/minutes/seconds, the result is in decimal degrees to the specified number of decimal places. E.g<br /> |
|||
<#latitude> gives "N 59& deg;&nbsp;14&#39;&nbsp;33&quot;" for N 59 14 33<br /> |
|||
<#latitude dp=5> gives "59.24250" |
|||
The figures quoted for this derivative vary between versions: |
|||
If the "dp" parameter is supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point. |
|||
* The first formula was used from MX version 3.5.4 (25 Apr 2020) build 3075 until version 3.6.7 (4 June 2020) build 3083 |
|||
|- |
|||
* The second formula, which was coded incorrectly, and so gave strange results, applied in versions 3.6.8 to 3.6.9 (build 3084, 3085) |
|||
| <#latitudeJsEnc> |
|||
* The third, and hopefully final, formula applies from version 3.6.10 (build 3086). |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
A php script for adding feels like as calculated in version 3.6.10 to any standard log line created either without feels like, or with an older (now incorrect) calculation, can be downloaded from [https://cumulus.hosiene.co.uk/viewtopic.php?f=18&t=18096 Create Missing topic on support forum]. Obviously, this calculates from the small sub-set of current conditions that have been logged, and is not as accurate at deriving maximum and minimum as derivation made as each reading is processed by MX (so including all current conditions). |
|||
JavaScript encoded of previous web tag that is HTML encoded |
|||
|- |
|||
|<#longitude> |
|||
|The station [http://en.wikipedia.org/wiki/Longitude longitude] (as you entered during setup). Supports an optional 'dp' and 'rc' parameters as per the latitude tag. |
|||
|- |
|||
| <#longitudeJsEnc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
The [[Calculate_Missing_Values#CreateMissing.exe| Create Missing utility]] will not correct the older (incorrectly calculated) figures, but will add Feels Like temperature values to any standard log line created by Cumulus 1, by MX prior to release 3.5.4, or if you have imported lines into the log from an external source. |
|||
JavaScript encoded of previous web tag that is HTML encoded |
|||
|- |
|||
|<#altitude> |
|||
|The station [http://en.wikipedia.org/wiki/Altitude altitude] value (web tag outputs web encoded format containing figure, '&nbsp;' and units) in either feet or metres just as you entered during setup (so it is more complex to extract number for script arithmetic); e.g. '123&nbsp;m' |
|||
|- |
|||
| <#altitudenoenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
===Standard sensors=== |
|||
JavaScript encoded of previous web tag that is HTML encoded |
|||
|- |
|||
|<#location> |
|||
|The station location (as you entered during setup) |
|||
|- |
|||
| <#locationJsEnc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
The web tags shown here are mainly determined by which appeared on the original "Now" legacy web page (index.htm). |
|||
JavaScript encoded of previous web tag that is plain text |
|||
|- |
|||
| <#locationenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.3 |
|||
Consequently, the totals for Rainfall this month, and this year, are included here for consistency with supplied web templates (indexT.htm, thismonthT.htm, and thisyearT.htm) and with the dashboard 'Now' part of the Cumulus MX user; although you might expect to find them listed in tables for this month and this year, those web pages do not show these derivatives. |
|||
HTML encoded version of previous web tag that is JavaScript encoded |
|||
|- |
|||
|<#longlocation> |
|||
|Longer description of the station location (as you entered during setup) |
|||
|- |
|||
| <#longlocationJsEnc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is plain text |
|||
|- |
|||
| <#longlocationenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.3 |
|||
HTML encoded version of previous web tag that is JavaScript encoded |
|||
|- |
|||
|<#forum> |
|||
|URL of the forum (as you entered during setup) encoded into a web page menu item by adding colons |
|||
For Cumulus 1, this defaults to a Sandaysoft URL that is no longer available, for MX this defaults to the current support forum (web server site hosted by "Freddie") |
|||
|- |
|||
| <#forumurl> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.0 |
|||
Same as previous, but just URL, without any additional colons |
|||
|- |
|||
|<#webcam> |
|||
|URL of the webcam (as you entered during setup) encoded into a web page menu item by adding colons. Default is blank. Can be used to link to any other web page that you host (Cumulus does not verify that it is a web can, that is just a label, and the label can be changed on each standard web page individually) |
|||
|- |
|||
| <#webcamurl> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.0 |
|||
Same as previous, but just URL, without any additional colons |
|||
|- |
|||
|<#graphperiod> |
|||
|The number of hours displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Detailed Chart Period' |
|||
|- |
|||
|<#dailygraphperiod> |
|||
|The number of days displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Daily Chart Period' (available from build 1098) |
|||
|- |
|||
|<#LatestNOAAMonthlyReport> |
|||
|Gives file name of latest auto-saved NOAA monthly report |
|||
|- |
|||
|<#LatestNOAAYearlyReport> |
|||
|Gives file name of latest auto-saved NOAA yearly report |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Options |
|||
[[File:Badge vMx.png]] Available from version 3.10.0 |
|||
|- |
|||
| <#Option_useApparent> |
|||
| Whether user has prefers to see Apparent Temperature or Feels Like Temperature |
|||
|- |
|||
| <#Option_showSolar> |
|||
| Whether user wants to show Solar data or does not not have a solar sensor |
|||
|- |
|||
| <#Option_showUV> |
|||
| Whether user wants to show Ulta Violet data or does not not have a UV sensor |
|||
|} |
|||
==Units== |
|||
Apply to Cumulus 1 and MX, no optional input nor output parameters. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" | Web tag_name |
|||
!style="width:600px" | Function |
|||
|- |
|||
|<#tempunit> |
|||
|Unit of temperature being used (Set in Cumulus as [http://en.wikipedia.org/wiki/Centigrade Celsius] or [http://en.wikipedia.org/wiki/Fahrenheit Fahrenheit]) values "&deg;C" or "&deg;F" |
|||
|- |
|||
| <#tempunitnoenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is HTML encoded (i.e. without '''&''' and without '''°''') |
|||
|- |
|||
|<#tempunitnodeg> |
|||
|The temperature units being used, without a degree symbol, i.e. "F" or "C" |
|||
|- |
|||
|<#pressunit> |
|||
|Unit of measure for pressure. Possible values: "mb", "hPa", "in" |
|||
|- |
|||
|<#rainunit> |
|||
|Unit of measure for rain fall. Possible values: "mm" or "inches" |
|||
|- |
|||
|<#windunit> |
|||
|Unit of measure for wind speed. Possible values: "m/s", "mph", "km/h", "kts" |
|||
|- |
|||
|<#windrununit> |
|||
|Unit of measure for wind run (distance). Possible values: "km", "miles", "km", "nm" (for wind speeds in m/s, mph, km/h, kts) |
|||
|- |
|||
|<#cloudbaseunit> |
|||
|The units used for cloudbase value. Possible values: "ft" or "m" |
|||
|} |
|||
==Date & Time== |
|||
Both Cumulus 1 and MX support all of these, except where marked as MX only, most of these web tags can be used with output parameters. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:600px" | Function |
|||
|- |
|||
|<#date> |
|||
|The current date - format depends on locale you use to run Cumulus |
|||
|- |
|||
|<#metdate> |
|||
|The current meteorological date. The default format depends on the locale you use to run Cumulus |
|||
*If you use midnight rollover, this returns same date as <#date> (above), but with a different default format. |
|||
*If using a 9am/10am rollover: |
|||
**After rollover time on current calendar date, this is same as <#date>, but with a different default format. |
|||
**Between midnight and 9am/10am the <#metdate> will return the date associated with previous calendar day, but will still return current time |
|||
{{Version badge 1}}Can be used with relevant format parameters to [[Customised templates|customise]] '''todayT.htm''' template page to display current meteorological day, to customise '''thismonthT.htm''' template page to display meteorological month, and to customise '''thisyearT.htm''' template page to display correct meteorological year. This will be particularly useful on first and last day of month/year when rollover happens at 9 (or 10) a.m. and the month (and maybe year) is different before and after rollover. |
|||
[[File:Badge vMx.png]] Earlier MX releases provide a similar web template set, so these can be customised in same way as for legacy Cumulus above (but note capital "M" must be used for any month formatting). From release 3.10.1 the supplied web pages are web server based, there are no web templates to customise, and the supplied '''.json files''' do not include any meteorological date functionality. |
|||
|- |
|||
|<#timeUTC> |
|||
|The current UTC date/time rather than local date/time. Example result (actual format depends on locale settings): 18:30 on 30 December 2009. If you want the local date and time, use next tag (below). |
|||
|- |
|||
|<#time> |
|||
|The current time and date. Example result (actual format depends on locale settings): 18:30 on 30 December 2009. If you simply wish the time, use next tag (below). |
|||
|- |
|||
|<#timehhmmss> |
|||
|The current time (without date). Example format: 18:30:27. You can use output format specifiers to change the way the time is output, but any date specifiers are ignored. |
|||
|- |
|||
|<#minute> |
|||
|The current time, just the minutes. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#hour> |
|||
|The current time, just the hour. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#day> |
|||
| The current day as a 2-digit number. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#dayname> |
|||
| The current day as a word. For example, Monday (actual format depends on locale settings) |
|||
|- |
|||
|<#shortdayname> |
|||
| The current day as a shortened word. Example format: Mon |
|||
|- |
|||
|<#month> |
|||
|The current month as a 2-digit number. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#monthname> |
|||
|The current month as a word. Example format: July |
|||
|- |
|||
|<#shortmonthname> |
|||
|The current month as a shortened word. Example format: Jul |
|||
|- |
|||
|<#year> |
|||
|The current year as a 4-digit number. Example format: 2009 (cannot use output format modifiers) |
|||
|- |
|||
|<#shortyear> |
|||
|The current year as a 2-digit number. Example format: 09 (cannot use output format modifiers) |
|||
|- |
|||
|<#rollovertime> |
|||
|The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am' |
|||
PHP code example for testing whether before or after rollover given in next entry. |
|||
|- |
|||
|<#metdateyesterday> |
|||
|The previous meteorological date. The default format depends on the locale you use to run Cumulus |
|||
*If you use midnight rollover, this returns same date as <#date>, but with a different default format. |
|||
*If using a 9am/10am rollover: |
|||
**After rollover time on current calendar date, this is same as <#yesterday> (below), but with a different default format. |
|||
**Between midnight and 9am/10am the date output by <#metdateyesterday> will be the calendar day before that returned by <#yesterday>, but the time returned is actual local time. |
|||
Can be used with relevant format parameters to indicate correct day on yesterdayT.htm template page, and can be used to return latest day stored on [[dayfile.txt]] and NOAA report for latest month. |
|||
if you use PHP Hypertext preprocessor, you can output different text for before and after rollover, e.g. |
|||
<pre><?php |
|||
if('<#yesterday format=dddd>' == '<#metdateyesterday format=dddd>') echo '(calendar date and meteorological date same)'; |
|||
else echo 'rollover still to happen, these results will be treated as belonging to <#metdate format=dddd>';?></pre> |
|||
|- |
|||
|<#yesterday> |
|||
|Yesterday's date. The default format depends on the locale you use to run Cumulus |
|||
|- |
|||
|<#update> |
|||
|The date and time of the last web site update. The default format depends on the locale you use to run Cumulus |
|||
|- |
|||
|<#timeJavaScript> |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]]Available from version 3.5.2 |
|||
The JavaScript '''Date''' object contains the number of miliseconds since 00:00:00.000 UTC on 1st January 1970, that date and time is known as the UNIX Epoch. In JavaScript, you can use <tt>Math.floor(new Date().getTime()/1000.0)</tt> This getTime method returns the time in milliseconds. The web tag returns an integer (currently with 13 digits) representing the number of milliseconds since the UNIX epoch when the web tag was processed. It can be used in a script where you wish to re-express other times output by Cumulus MX into UTC (Coordinated Universal Time). Mac OS X uses 00:00:00.000 UTC on 1st January 2001 as the starting time and date for its millisecond count, so that is considerably lower. |
|||
Note that UTC is calculated using 9192631770 times a particular transition time for Caesium 133 as a basis for 1 second. GMT (Greenwich Mean Time) is calculated on the basis that 1 second is 1/86400 of the time taken for a whole (day) rotation of the Earth. UT1 (or solar time) is calculated from various space measurements. Periodically, leap seconds are added to UTC to realign it with UT1, but these leap seconds are not added to the count of milliseconds represented by this web tag. |
|||
Do be aware that some devices will use a 32 bit signed integer to represent this number, and that will stop working on 19 January 2038, the year 2038 problem for computing world. |
|||
|- |
|||
|<#timeUnix> |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]]Available from version 3.7.0 |
|||
Unix tracks the number of seconds since the UNIX epoch. So this web tag can be used when you do not want the millisecond accuracy of the previous web tag. Like previous web tag this relates to UTC, so see details for that tag to find out more. This is equivalent in PHP 5 and PHP 7 to '''time();''' (in PHP 8, a parameter is mandatory for time function, so the call changes). |
|||
|- |
|||
|<#LastDataReadT> |
|||
|The date/time data was last read from the station. Default format for this tag is like this example '''18:30 on 30 December 2009''', but output parameters for both date and time can modify this to include seconds in 1.9.x builds and most MX builds such as per this example '<#LastDataReadT format="yyyy-MM-dd HH:mm:ss">'. |
|||
|- |
|||
|<#DaysSince30Dec1899> |
|||
|Day count (gives whole and fractional part) Example: 41250.6523310301 |
|||
|- |
|||
|<#recordsbegandate> |
|||
|Date when records began (appears twice on "recordT.htm" provided in standard web page, and used to calculate next tag, but ignored for all other Cumulus processing). Any output parameters valid for a date can be used here, don't forget differences in modifiers for Cumulus 1 and MX. There is no time associated with this web tag. The default format is like 30 December 2009, please note although this web tag reports the value associated with [b]StartDate=dd/MM/yyyy[/b] (see [[Cumulus.ini#Section:_Station]]), the format there is short-date format and different to default format for this web tag. |
|||
|- |
|||
|<#DaysSinceRecordsBegan> |
|||
|Day count since Cumulus records started |
|||
|} |
|||
==Current Conditions== |
|||
The web tags/token shown here are mainly determined by which appear on "Now" page (index.htm). |
|||
Rainfall this month and this year are included here for consistency with supplied web templates (indexT.htm, thismonthT.htm, and thisyearT.htm) and with the dashboard 'Now' part of the Cumulus MX user; although you might expect to find them listed in tables for this month and this year, those web pages do not show these derivatives. |
|||
Those listed here cover both measurements obtained from a weather station (like air temperature, wind speed and direction, humidity and barometric pressure); and all the derived values (like humidex, feels like, apparent temperature, wind chill and heat index). |
Those listed here cover both measurements obtained from a weather station (like air temperature, wind speed and direction, humidity and barometric pressure); and all the derived values (like humidex, feels like, apparent temperature, wind chill, and heat index). |
||
Note however, that the derived values calculated for Cumulus 1 and for MX may not agree, see derived value section within Recent History tags section for examples. |
Note however, that the derived values calculated for Cumulus 1 and for MX may not agree because of differences in the calculation formulae, see derived value section within Recent History tags section for examples. |
||
{| class="wikitable" border="1" |
{| class="wikitable" border="1" |
||
|- |
|- |
||
Line 586: | Line 295: | ||
|<#temp> |
|<#temp> |
||
|The outside (air) temperature |
|The outside (air) temperature |
||
For Oregon Scientific models like WMR-200 with USB connection or models like WMR-928 with serial connections, please refer to [[#Web tags mentioning (outside) temperature]] because any of the [[#Extra Sensors: Davis models and Oregon Scientific WMR928, WR100/200|extra sensors]] can be reported in '''<#temp>''', and consequently also have web tags reporting daily extremes and longer period extreme records. |
|||
|- |
|- |
||
|<#intemp> |
|<#intemp> |
||
Line 615: | Line 326: | ||
|- |
|- |
||
|<#feelslike> |
|<#feelslike> |
||
| |
|[[File:Badge v1.png]] Not available in Cumulus 1. |
||
[[File:Badge vMx.png]]Not available in all MX versions. Please see sub-section |
[[File:Badge vMx.png]]Not available in all MX versions. Please see [[#Feels_Like|sub-section before this table]] regarding availability by MX versions if you are using a MX version earlier than 3.6.10. |
||
The current [[Feels_Like|Feels Like]] temperature. The referenced page in weather terminology section of this Wiki explains it. |
The current [[Feels_Like|Feels Like]] temperature. The referenced page in weather terminology section of this Wiki explains it. |
||
Line 733: | Line 444: | ||
|- |
|- |
||
|<#wspddata> |
|<#wspddata> |
||
|Comma separated list of recent individual (non-averaged) wind speed (correspond to 'latest' on the Cumulus main screen) readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex. Reading interval x varies by station type. |
|Comma separated list of recent individual (non-averaged) wind speed (correspond to 'latest' on the Cumulus main screen) readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use '''nextwindindex''' tag. Reading interval x varies by station type. |
||
|- |
|- |
||
|<#nextwindindex> |
|<#nextwindindex> |
||
Line 826: | Line 537: | ||
|The same as <#currcond> but also has all characters above (decimal base) code 159 encoded as HTML entities for example this would encode any use of symbol for degree. |
|The same as <#currcond> but also has all characters above (decimal base) code 159 encoded as HTML entities for example this would encode any use of symbol for degree. |
||
|} |
|} |
||
==== Feels Like ==== |
|||
===Extra Sensors=== |
|||
Feels like temperature was first made available, just for current conditions at MX version 3.5.4. In version 3.6.0. it was extended to add max/min for each day, each month, each year, and all time. In version 3.6.11 it was added to recent history. |
|||
The figures quoted for this derivative vary between versions: |
|||
* The first formula was used from MX version 3.5.4 (25 Apr 2020) build 3075 until version 3.6.7 (4 June 2020) build 3083 |
|||
* The second formula, which was coded incorrectly, and so gave strange results, applied in versions 3.6.8 to 3.6.9 (build 3084, 3085) |
|||
* The third, and hopefully final, formula applies from version 3.6.10 (build 3086). |
|||
A php script for adding feels like as calculated in version 3.6.10 to any standard log line created either without feels like, or with an older (now incorrect) calculation, can be downloaded from [https://cumulus.hosiene.co.uk/viewtopic.php?f=18&t=18096 Create Missing topic on support forum]. Obviously, this calculates from the small sub-set of current conditions that have been logged, and is not as accurate at deriving maximum and minimum as derivation made as each reading is processed by MX (so including all current conditions). |
|||
Some tags are only available for certain builds, if the tables below do not say which releases they apply to, see general tip at top of page to check for the build you are using. In particular Cumulus 1 has fewer channels available in its earlier versions, and the final legacy software version 1.9.4 offers just 42 of the 62 extra sensor web tags available in MX. |
|||
==Extra Sensors== |
|||
The extra sensors functionality in Cumulus only supports processing for current spot values as read from the sensors, the only processing is to convert the units ready for output, so only current conditions can be reported in web tags. |
|||
===Extra Sensors Davis (and a few others)=== |
|||
Periodically spot extra sensor values are logged, see the [[Extra_Sensor_Files]] page for information about log files from where you can extract the past spot values. |
|||
These web tags hold current values for additional sensors supported by Cumulus. Most of the tags in this section relate to Davis stations, but not exclusively. |
|||
====Extra Sensors: Davis models and Oregon Scientific WMR928, WR100/200 ==== |
|||
Some tags are only available for certain builds, see general tip at top of page to check for the build you are using. In particular Cumulus 1 has fewer channels available. |
|||
These web tags hold current values for additional sensors supported by Cumulus 1 and MX. |
|||
There are no web tags for past values from extra sensors, see the [[Extra_Sensor_Files]] page for information about log files from where you can extract those values. |
|||
For Oregon Scientific model like WMR-200 with USB connection, please refer to [[#Web tags mentioning (outside) temperature]] because any of the extra temperature tags below can be redirected to '''<#temp>''', and consequently also have web tags reporting daily extremes and longer period extreme records. |
|||
{| class="wikitable" border="1" |
{| class="wikitable" border="1" |
||
|- |
|- |
||
Line 915: | Line 618: | ||
|} |
|} |
||
====Extra Sensors: Davis AirLink ==== |
|||
New from version 3.9.0. Not available for earlier MX, not available for Cumulus 1. |
|||
Note, that you can configure an Indoor or Outdoor (or both) AirLink, most people will use an outdoor. There are a similar set of tags for each device. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:600px" |Function |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Particulate Matter |
|||
|- |
|||
|<#AirLinkPm1[InǀOut]> |
|||
|Current particulate matter of 1 μm, or less count |
|||
|- |
|||
|<#AirLinkPm2p5[InǀOut]> |
|||
|Currentparticulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_3hr[InǀOut]> |
|||
|Last 3 hours average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_24hr[InǀOut]> |
|||
|Last 24 hours average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_Nowcast[InǀOut]> |
|||
|The 24 hour "nowcast" weighted average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10[InǀOut]> |
|||
|Current particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_3hr[InǀOut]> |
|||
|Last 3 hours average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_24hr[InǀOut]> |
|||
|Last 24 hours average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_Nowcast[InǀOut]> |
|||
|The 24 hour "nowcast" weighted average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Air Quality Index Values |
|||
|- |
|||
|<#AirLinkAqiPm2p5[InǀOut]> |
|||
|Current particulate matter of 2.5 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_3hr[InǀOut]> |
|||
|Last 3 hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_24hr[InǀOut]> |
|||
|Last 24 hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_Nowcast[InǀOut]> |
|||
|Last 24 hour "nowcast" weighted average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm210[InǀOut]> |
|||
|Current particulate matter of 10 μm, or less value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 10 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_3hr[InǀOut]> |
|||
|Last 3 hour average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_24hr[InǀOut]> |
|||
|Last 24 hour average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_Nowcast[InǀOut]> |
|||
|Last 24 hour "nowcast" weighted average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Stats Values |
|||
|- |
|||
|<#AirLinkPct_1hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 1 hour averages |
|||
|- |
|||
|<#AirLinkPct_3hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 3 hour averages |
|||
|- |
|||
|<#AirLinkPct_24hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 24 hour averages |
|||
|- |
|||
|<#AirLinkPct_1hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 24 hour weighted averages |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Sensor Info |
|||
|- |
|||
|<#AirLinkFirmwareVersion[InǀOut]> |
|||
|Shows the AirLink firmware version as a date string. |
|||
NOTE: This web tag requires a WeatherLink Pro subscription to work |
|||
|- |
|||
|<#AirLinkTemp[InǀOut]> |
|||
|The sensors internal temperatue value |
|||
|- |
|||
|<#AirLinkHum[InǀOut]> |
|||
|The sensors internal humidity value |
|||
|- |
|||
|<#AirLinkWifiRssi[InǀOut]> |
|||
|The sensors WiFi signal strength in dB - anything below -90 is considered very poor. |
|||
NOTE: This web tag requires a WeatherLink Pro subscription to work |
|||
|} |
|||
===Extra Sensors Ecowitt=== |
|||
{{Version badge 1}} Not available in Cumulus 1. |
|||
====Extra Sensors: Ecowitt==== |
|||
[[File:Badge vMx.png]] Please see release announcements for when individual web tags become available. |
|||
Ecowitt stations are sold under other names depending on nation, e.g. Ambient in USA, Froggit in central Europe, so Ecowitt is used as a generic name in same way as Fine Offset is used as a generic name for stations sold under a variety of branding, in this Wiki. |
|||
This section applies only to those using Ecowitt GW1000 (Froggit DS1500) an interface unit that picks up various external sensors and sends the data via an application programming interface to MX which then generates the following web tags: |
|||
[[File:Badge v1.png]]Not available in Cumulus 1. |
|||
=====Extra Sensors: Ecowitt WH45 CO₂ sensor===== |
|||
[[File:Badge vMx.png]] Unless otherwise indicated these web tags become available from release 3.9.5. |
|||
<big>THE INFORMATION HERE IS TAKEN FROM RELEASE ANNOUNCEMENTS THAT DO NOT EXPLAIN WHAT THESE WEB TAGS REPORT |
|||
PLEASE WOULD SOMEBODY WHO UNDERSTANDS THIS TERMINOLOGY UPDATE THE FOLLOWING TABLE</big> |
|||
{| class="wikitable" border="1" |
{| class="wikitable" border="1" |
||
Line 931: | Line 747: | ||
!style="width:600px" |Function |
!style="width:600px" |Function |
||
|- |
|- |
||
| <#CO2-pm2p5> |
|||
|<#GW1000FirmwareVersion> |
|||
| Air Quality expressed in terms of particulate matter of 2.5 micrometres or less |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
|- |
|||
| <#CO2-pm2p5-24h> |
|||
| Air Quality expressed in terms of particulate matter of 2.5 μm, or less, Last 24 hours average |
|||
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS |
|||
[[File:Badge vMx.png]]GW1000 firmware version string |
|||
|- |
|||
| <#CO2-pm10> |
|||
| Air Quality expressed in terms of particulate matter of 10 μm, or less |
|||
|- |
|||
| <#CO2-pm10-24h> |
|||
| Air Quality expressed in terms of particulate matter of 10 μm, or less, Last 24 hours average |
|||
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS |
|||
|- |
|||
| <#CO2-temp> |
|||
| Temperature as reported by Air Quality monitor |
|||
|- |
|||
| <#CO2-hum> |
|||
| Relative Humidity as reported by Air Quality monitor |
|||
|} |
|||
=====Extra Sensors: Ecowitt WH34 soil and water sensor===== |
|||
Cumulus MX can support the Ecowitt WH34 (other model types exist and are reported here as if WH34) soil and water temperature sensors. |
|||
They are reported as "User Temperture 1" to "User Temperature 8", as listed in the table within next sub-section. |
|||
=====Extra Sensors: Ecowitt Air quality, leak sensors, lighting detector, and extra temperature sensors===== |
|||
[[File:Badge v1.png]] Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] Please see release announcements for when individual web tags became available |
|||
This sub-section applies only to those using Ecowitt GW1000 (also Froggit DS1500, and other equivalents, see [[Supported Devices]]) an interface unit that picks up various external sensors and sends the data via an application programming interface to MX which then generates the following web tags: |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:600px" |Function |
|||
|- |
|||
|<#GW1000FirmwareVersion> |
|||
|GW1000 firmware version string |
|||
|} |
|} |
||
Line 944: | Line 800: | ||
|- |
|- |
||
|<#AirQuality1> |
|<#AirQuality1> |
||
| Air quality 1 |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] see release announcements for version availability |
|||
Air quality 1 |
|||
|- |
|- |
||
|colspan="2"|... and so on up to <#AirQuality4> |
|colspan="2"|... and so on up to <#AirQuality4> |
||
|- |
|- |
||
|<#LeakSensor1> |
|<#LeakSensor1> |
||
|Leak sensor - 0 or 1 |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] see release announcements for version availability |
|||
Leak sensor - 0 or 1 |
|||
|- |
|- |
||
|colspan="2"|... and so on up to <#LeakSensor4> |
|colspan="2"|... and so on up to <#LeakSensor4> |
||
|- |
|- |
||
|<#LightningDistance> |
|<#LightningDistance> |
||
|Distance to last strike (same units as wind run - miles/km/nm) (Returns 0.0 if you don't have a sensor, GW1000 api returns max value you can put in a byte - 0xFF which translates to 158.4 miles = 255 km if have sensor but no strike detected yet, so MX translates that to '----') |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] see release announcements for version availability |
|||
Distance to last strike (same units as wind run - miles/km/nm) (Returns 0.0 if you don't have a sensor, GW1000 api returns max value you can put in a byte - 0xFF which translates to 158.4 miles = 255 km if have sensor but no strike detected yet, so MX translates that to '----') |
|||
|- |
|- |
||
|<#LightningTime> |
|<#LightningTime> |
||
|Date and Time of last strike (default without output parameters is locale's short time format e.g. 18:02 or 6:02 pm, without date, but tag accepts both date and time output parameters). Returns '----' if you don't have sensor or there has not been a strike since the sensor was installed. (GW1000 api returns FFFF FFFF seconds after midnight on 01 Jan 1970, which translates to 07/02/2106 06:28:15, so MX translates that to '----') |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] see release announcements for version availability |
|||
Date and Time of last strike (default without output parameters is locale's short time format e.g. 18:02 or 6:02 pm, without date, but tag accepts both date and time output parameters). Returns '----' if you don't have sensor or there has not been a strike since the sensor was installed. (GW1000 api returns FFFF FFFF seconds after midnight on 01 Jan 1970, which translates to 07/02/2106 06:28:15, so MX translates that to '----') |
|||
|- |
|- |
||
|<#LightningStrikesToday> |
|<#LightningStrikesToday> |
||
|Number of strikes since midnight, default 0 |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] see release announcements for version availability |
|||
Number of strikes since midnight, default 0 |
|||
|- |
|- |
||
|<#UserTemp1> |
|<#UserTemp1> |
||
|User Temperature 1 |
|||
|{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] see release announcements for version availability |
|||
User Temperature 1 |
|||
support for the Ecowitt WH34 (other model types exist and are reported here as if WH34) soil and water temperature sensors |
|||
|- |
|- |
||
|colspan="2"|... and so on up to <#UserTemp8> = User temperature 8 |
|colspan="2"|... and so on up to <#UserTemp8> = User temperature 8 |
||
|} |
|} |
||
Ecowitt stations are sold under other names depending on nation, e.g. Ambient in USA, Froggit in central Europe, so Ecowitt is used as a generic name in same way as Fine Offset is used elsewhere in this article. |
|||
==Recent History== |
==Recent History== |
||
Line 1,049: | Line 872: | ||
|- |
|- |
||
|<#RecentFeelsLike> |
|<#RecentFeelsLike> |
||
| |
| [[File:Badge v1.png]] Not available in Cumulus 1. |
||
[[File:Badge vMx.png]] Available from version 3.6.11 (b.3087) onwards. |
[[File:Badge vMx.png]] Available from version 3.6.11 (b.3087) onwards. |
||
Line 1,057: | Line 880: | ||
|- |
|- |
||
|<#RecentHumidex> |
|<#RecentHumidex> |
||
| |
| [[File:Badge v1.png|File]] Not available in Cumulus 1. |
||
[[File:Badge vMx.png]] Available from version 3.7.0 (build 3089) onwards. |
[[File:Badge vMx.png]] Available from version 3.7.0 (build 3089) onwards. |
||
Line 1,173: | Line 996: | ||
FL= AT * app_temp_mult + WC * wind_chill_mult;</pre> |
FL= AT * app_temp_mult + WC * wind_chill_mult;</pre> |
||
== |
== System == |
||
Special tags returning information about the Windows device hosting Cumulus 1. |
|||
Cumulus MX provides more web tags than the original (now legacy) Cumulus software. Please see individual entries for what is available in the flavour you are using. Where known, the actual release that introduces a particular web tag is indicated, but if you are using an old release please [[Webtags#GENERAL_TIP|see here]] for how to check which web tags are available. |
|||
[[File:Badge vMx.png]]''If you are running MX, then most tags do not work.'' |
|||
===Weather Diary=== |
|||
{| class="wikitable" border="1" |
|||
Meteorologists report snowfall, and snow days, on a calendar day basis (i.e. midnight to midnight), and Cumulus software enables this by allowing you to declare the '''SnowDepthHour''' time (in [[Cumulus.ini#Section:_Station]], default is 9 a.m. for Cumulus 1, and default is midnight for MX). |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:150px" |Applicability |
|||
!style="width:600px" |Function |
|||
|- |
|||
|<#OsVersion> |
|||
|up to 1.9.4, and MX |
|||
|OS version, e.g. "Windows 7 x64 build 7600" |
|||
Please note this may not return the information you expect! |
|||
However, Cumulus software also allows you to choose one of 3 meteorological days: |
|||
|- |
|||
# starting at 9:00 am, based on winter time, so switching to 10:00 during Daylight Saving (summer) time, or |
|||
|<#OsLanguage> |
|||
# starting at 9:00 am, all year round, or |
|||
|Both leagacy and MX |
|||
# aligned with calendar days. |
|||
|OS language, e.g. "English" |
|||
|- |
|||
|<#SystemUpTime> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
For MX users who choose options 1, and 2, with the MX default for snow depth, there is a mismatch between the times for the web tags in the two tables below. The mismatch will also cause problems if you use any End of Day actions, such as using web tags for either a [[MX_Administrative_Interface#Another_daily_summary_table|custom database table update]], or for [[Cumulus.ini#MQTT|MQTT messages]]. For the original Cumulus 1 software, only one web tag is available, but by default this has a mismatch if you use midnight-midnight days; this was intentional as Steve Loft assumed you would record the snow depth at 9 a.m. rather than midnight even if your rollover is at midnight! |
|||
|How long the system has been up, e.g. "8 hours 21 minutes" |
|||
|- |
|||
|<#ProgramUpTime> |
|||
|all releases |
|||
|How long Cumulus has been running, e.g. "7 hours 55 minutes" |
|||
|- |
|||
|<#CpuName> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
An alternative approach is to use a script to read the [[Weather Diary]], so you know that your output is for the right day. |
|||
|CPU type, e.g. "Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz" |
|||
|- |
|||
|<#CpuCount> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
|Number of processors, e.g. "4" |
|||
|- |
|||
|<#MemoryStatus> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
|Free and total system RAM, e.g. "4619/8191 MB (free/total)" |
|||
|- |
|||
|<#DisplayMode> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
|Screen display mode, e.g. "1680x1050, 32 bit" |
|||
|- |
|||
|<#AllocatedMemory> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
|Amount of memory allocated to Cumulus, e.g. "18.76 MB" |
|||
|- |
|||
|<#DiskSize> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
|Size of disk on which Cumulus is running, e.g. "931.51 GB" |
|||
|- |
|||
|<#DiskFree> |
|||
| (not available on MX) |
|||
[[File:Badge v1.png]] only in legacy Cumulus |
|||
|Free space on disk on which Cumulus is running, e.g. "515.36 GB" |
|||
|} |
|||
== Miscellaneous == |
|||
All tags are available in all flavours, as far as I know, although ''their output might vary'', and which input/output parameters they permit might vary between Cumulus 1 and MX. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:900px" | Function |
|||
|- |
|||
|<#LatestError> |
|||
|Displays the last error from the Cumulus 1 error log. (The value is cleared when you click the error light in Cumulus 1).<br /> |
|||
Note: This tag displays ''all'' errors, even if they do not cause the error light to flash in Cumulus 1. Although this tag and the next 3 are in MX, none of them are actually used (as at April 2020). |
|||
|- |
|||
|<#LatestErrorDate> |
|||
|The date of the latest error logged to the error log window, using the system short date format. Gives dashes when latest error is reset |
|||
|- |
|||
|<#LatestErrorTime> |
|||
|The time of the latest error logged to the error log window, using the system short time format. Gives dashes when latest error is reset |
|||
|- |
|||
|<#ErrorLight> |
|||
|1 if the 'error' light is flashing, 0 if not |
|||
|- |
|||
|<#version> |
|||
|The version of Cumulus in use e.g. '1.9.4' or '3.4.1' |
|||
|- |
|||
|<#build> |
|||
|The build of Cumulus in use e.g. '10992' for latest Cumulus 1 patch |
|||
(Cumulus MX is under development so new builds are released frequently) |
|||
|- |
|||
|<#NewBuildAvailable> |
|||
|'''Only available from release 3.7.0''' onwards, it is checked on start-up and once a day thereafter at a random time |
|||
*Returns a boolean value |
|||
**0 - MX running the latest build available |
|||
**1 - MX is running an earlier build that the latest public release |
|||
|- |
|||
|<#NewBuildNumber> |
|||
|'''Only available from release 3.7.0''' onwards, it is checked on start-up and once a day thereafter at a random time |
|||
Displays the latest public release build number - eg. b3089 |
|||
|- |
|||
|<#realtimeinterval> |
|||
|The real time update interval in seconds (integer) |
|||
|- |
|||
|<#interval> |
|||
|The web site update interval in minutes (integer) |
|||
|- |
|||
|<#rollovertime> |
|||
|The time that the logs rollover to the next day: will always return one of these: 'Midnight', '9 am' or '10 am' |
|||
This is the end of the meteorological day, so if during Daylight Saving Time rolover is at "10 am", then on the day DST ends it will return to "9 am" ensuring every meteorological day is exactly 24 hours long. If the time is "Midnight" (or during DST it is "9 am"), then days will be 23 or 25 hours long just on day clocks change, 24 hours otherwise. |
|||
|- |
|||
|<#update> |
|||
|The date and time of the last web site update. The default format of the output depends on your locale settings. |
|||
|- |
|||
|<#LastDataReadT> |
|||
|The date/time data was last read from the station. The default format of the output depends on your locale settings. |
|||
|- |
|||
|<#stationtype> |
|||
|The weather station [https://cumuluswiki.org/a/Cumulus.ini#Section:_Station model] description (you choose what text appears for this on 'Display' settings screen within Configuration menu - the field is at the bottom left of that screen). |
|||
|- |
|||
|<#latitude> |
|||
|The station [http://en.wikipedia.org/wiki/Latitude latitude] (as you entered during setup). |
|||
Supports an optional 'dp' parameter, if supplied, instead of the usual web-encoded text format with degrees/minutes/seconds, the result is in decimal degrees to the specified number of decimal places. E.g<br /> |
|||
<#latitude> gives "N 59& deg;&nbsp;14&#39;&nbsp;33&quot;" for N 59 14 33<br /> |
|||
<#latitude dp=5> gives "59.24250" |
|||
If the "dp" parameter is supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point. |
|||
|- |
|||
| <#latitudeJsEnc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is HTML encoded |
|||
|- |
|||
|<#longitude> |
|||
|The station [http://en.wikipedia.org/wiki/Longitude longitude] (as you entered during setup). Supports an optional 'dp' and 'rc' parameters as per the latitude tag. |
|||
|- |
|||
| <#longitudeJsEnc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is HTML encoded |
|||
|- |
|||
|<#altitude> |
|||
|The station [http://en.wikipedia.org/wiki/Altitude altitude] value (web tag outputs web encoded format containing figure, '&nbsp;' and units) in either feet or metres just as you entered during setup (so it is more complex to extract number for script arithmetic); e.g. '123&nbsp;m' |
|||
|- |
|||
| <#altitudenoenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is HTML encoded |
|||
|- |
|||
|<#location> |
|||
|The station location (as you entered during setup) |
|||
|- |
|||
| <#locationJsEnc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is plain text |
|||
|- |
|||
| <#locationenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.3 |
|||
HTML encoded version of previous web tag that is JavaScript encoded |
|||
|- |
|||
|<#longlocation> |
|||
|Longer description of the station location (as you entered during setup) |
|||
|- |
|||
| <#longlocationJsEnc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is plain text |
|||
|- |
|||
| <#longlocationenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.3 |
|||
HTML encoded version of previous web tag that is JavaScript encoded |
|||
|- |
|||
|<#forum> |
|||
|URL of the forum (as you entered during setup) encoded into a web page menu item by adding colons |
|||
For Cumulus 1, this defaults to a Sandaysoft URL that is no longer available, for MX this defaults to the current support forum (web server site hosted by "Freddie") |
|||
|- |
|||
| <#forumurl> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.0 |
|||
Same as previous, but just URL, without any additional colons |
|||
|- |
|||
|<#webcam> |
|||
|URL of the webcam (as you entered during setup) encoded into a web page menu item by adding colons. Default is blank. Can be used to link to any other web page that you host (Cumulus does not verify that it is a web can, that is just a label, and the label can be changed on each standard web page individually) |
|||
|- |
|||
| <#webcamurl> |
|||
|[[File:Badge vMx.png]] Available from version 3.10.0 |
|||
Same as previous, but just URL, without any additional colons |
|||
|- |
|||
|<#graphperiod> |
|||
|The number of hours displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Detailed Chart Period' |
|||
|- |
|||
|<#dailygraphperiod> |
|||
|The number of days displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Daily Chart Period' (available from build 1098) |
|||
|- |
|||
|<#LatestNOAAMonthlyReport> |
|||
|Gives file name of latest auto-saved NOAA monthly report |
|||
|- |
|||
|<#LatestNOAAYearlyReport> |
|||
|Gives file name of latest auto-saved NOAA yearly report |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Options |
|||
[[File:Badge vMx.png]] Available from version 3.10.0 |
|||
|- |
|||
| <#Option_useApparent> |
|||
| Whether user prefers to see Apparent Temperature or Feels Like Temperature |
|||
|- |
|||
| <#Option_showSolar> |
|||
| Whether user wants to show Solar data or does not not have a solar sensor |
|||
|- |
|||
| <#Option_showUV> |
|||
| Whether user wants to show Ultra Violet data or does not not have a UV sensor |
|||
|} |
|||
==Units== |
|||
Apply to Cumulus 1 and MX, no optional input nor output parameters. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" | Web tag_name |
|||
!style="width:600px" | Function |
|||
|- |
|||
|<#tempunit> |
|||
|Unit of temperature being used (Set in Cumulus as [http://en.wikipedia.org/wiki/Centigrade Celsius] or [http://en.wikipedia.org/wiki/Fahrenheit Fahrenheit]) values "&deg;C" or "&deg;F" |
|||
|- |
|||
| <#tempunitnoenc> |
|||
|[[File:Badge vMx.png]] Available from version 3.11.0 |
|||
JavaScript encoded of previous web tag that is HTML encoded (i.e. without '''&''' and without '''°''') |
|||
|- |
|||
|<#tempunitnodeg> |
|||
|The temperature units being used, without a degree symbol, i.e. "F" or "C" |
|||
|- |
|||
|<#pressunit> |
|||
|Unit of measure for pressure. Possible values: "mb", "hPa", "in" |
|||
|- |
|||
|<#rainunit> |
|||
|Unit of measure for rain fall. Possible values: "mm" or "inches" |
|||
|- |
|||
|<#windunit> |
|||
|Unit of measure for wind speed. Possible values: "m/s", "mph", "km/h", "kts" |
|||
|- |
|||
|<#windrununit> |
|||
|Unit of measure for wind run (distance). Possible values: "km", "miles", "km", "nm" (for wind speeds in m/s, mph, km/h, kts) |
|||
|- |
|||
|<#cloudbaseunit> |
|||
|The units used for cloudbase value. Possible values: "ft" or "m" |
|||
|} |
|||
==Date & Time== |
|||
Both Cumulus 1 and MX support all of these, except where marked as MX only, most of these web tags can be used with output parameters. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:600px" | Function |
|||
|- |
|||
|<#date> |
|||
|The current date - format depends on locale you use to run Cumulus |
|||
|- |
|||
|<#metdate> |
|||
|The current meteorological date. The default format depends on the locale you use to run Cumulus |
|||
*If you use midnight rollover, this returns same date as <#date> (above), but with a different default format. |
|||
*If using a 9am/10am rollover: |
|||
**After rollover time on current calendar date, this is same as <#date>, but with a different default format. |
|||
**Between midnight and 9am/10am the <#metdate> will return the date associated with previous calendar day, but will still return current time |
|||
Legacy website: Can be used with relevant format parameters to [[Customised templates|customise]] '''todayT.htm''' template page to display current meteorological day, to customise '''thismonthT.htm''' template page to display meteorological month, and to customise '''thisyearT.htm''' template page to display correct meteorological year. This will be particularly useful on first and last day of month/year when rollover happens at 9 (or 10) a.m. and the month (and maybe year) is different before and after rollover. |
|||
[[File:Badge vMx.png]] Earlier MX releases provide a similar web template set, so these can be customised in same way as for legacy Cumulus above (but note capital "M" must be used for any month formatting). From release 3.10.1 the supplied web pages are web server based, there are no web templates to customise, and the supplied '''.json files''' do not include any meteorological date functionality. |
|||
|- |
|||
|<#timeUTC> |
|||
|The current UTC date/time rather than local date/time. Example result (actual format depends on locale settings): 18:30 on 30 December 2009. If you want the local date and time, use next tag (below). |
|||
|- |
|||
|<#time> |
|||
|The current time and date. Example result (actual format depends on locale settings): 18:30 on 30 December 2009. If you simply wish the time, use next tag (below). |
|||
|- |
|||
|<#timehhmmss> |
|||
|The current time (without date). Example format: 18:30:27. You can use output format specifiers to change the way the time is output, but any date specifiers are ignored. |
|||
|- |
|||
|<#minute> |
|||
|The current time, just the minutes. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#hour> |
|||
|The current time, just the hour. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#day> |
|||
| The current day as a 2-digit number. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#dayname> |
|||
| The current day as a word. For example, Monday (actual format depends on locale settings) |
|||
|- |
|||
|<#shortdayname> |
|||
| The current day as a shortened word. Example format: Mon |
|||
|- |
|||
|<#month> |
|||
|The current month as a 2-digit number. Fixed format: 07 (cannot use output format modifiers) |
|||
|- |
|||
|<#monthname> |
|||
|The current month as a word. Example format: July |
|||
|- |
|||
|<#shortmonthname> |
|||
|The current month as a shortened word. Example format: Jul |
|||
|- |
|||
|<#year> |
|||
|The current year as a 4-digit number. Example format: 2009 (cannot use output format modifiers) |
|||
|- |
|||
|<#shortyear> |
|||
|The current year as a 2-digit number. Example format: 09 (cannot use output format modifiers) |
|||
|- |
|||
|<#rollovertime> |
|||
|The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am' |
|||
PHP code example for testing whether before or after rollover given in next entry. |
|||
|- |
|||
|<#metdateyesterday> |
|||
|The previous meteorological date. The default format depends on the locale you use to run Cumulus |
|||
*If you use midnight rollover, this returns same date as <#date>, but with a different default format. |
|||
*If using a 9am/10am rollover: |
|||
**After rollover time on current calendar date, this is same as <#yesterday> (below), but with a different default format. |
|||
**Between midnight and 9am/10am the date output by <#metdateyesterday> will be the calendar day before that returned by <#yesterday>, but the time returned is actual local time. |
|||
Can be used with relevant format parameters to indicate correct day on yesterdayT.htm template page, and can be used to return latest day stored on [[dayfile.txt]] and NOAA report for latest month. |
|||
if you use PHP Hypertext preprocessor, you can output different text for before and after rollover, e.g. |
|||
<pre><?php |
|||
if('<#yesterday format=dddd>' == '<#metdateyesterday format=dddd>') echo '(calendar date and meteorological date same)'; |
|||
else echo 'rollover still to happen, these results will be treated as belonging to <#metdate format=dddd>';?></pre> |
|||
|- |
|||
|<#yesterday> |
|||
|Yesterday's date. The default format depends on the locale you use to run Cumulus |
|||
|- |
|||
|<#update> |
|||
|The date and time of the last web site update. The default format depends on the locale you use to run Cumulus |
|||
|- |
|||
|<#timeJavaScript> |
|||
| [[File:Badge vMx.png]]Available from version 3.5.2, so not available in legacy software |
|||
The JavaScript '''Date''' object contains the number of miliseconds since 00:00:00.000 UTC on 1st January 1970, that date and time is known as the UNIX Epoch. In JavaScript, you can use <tt>Math.floor(new Date().getTime()/1000.0)</tt> This getTime method returns the time in milliseconds. The web tag returns an integer (currently with 13 digits) representing the number of milliseconds since the UNIX epoch when the web tag was processed. It can be used in a script where you wish to re-express other times output by Cumulus MX into UTC (Coordinated Universal Time). Mac OS X uses 00:00:00.000 UTC on 1st January 2001 as the starting time and date for its millisecond count, so that is considerably lower. |
|||
Note that UTC is calculated using 9192631770 times a particular transition time for Caesium 133 as a basis for 1 second. GMT (Greenwich Mean Time) is calculated on the basis that 1 second is 1/86400 of the time taken for a whole (day) rotation of the Earth. UT1 (or solar time) is calculated from various space measurements. Periodically, leap seconds are added to UTC to realign it with UT1, but these leap seconds are not added to the count of milliseconds represented by this web tag. |
|||
Do be aware that some devices will use a 32 bit signed integer to represent this number, and that will stop working on 19 January 2038, the year 2038 problem for computing world. |
|||
|- |
|||
|<#timeUnix> |
|||
| [[File:Badge vMx.png]]Available from version 3.7.0, so not available in legacy software |
|||
Unix tracks the number of seconds since the UNIX epoch. So this web tag can be used when you do not want the millisecond accuracy of the previous web tag. Like previous web tag this relates to UTC, so see details for that tag to find out more. This is equivalent in PHP 5 and PHP 7 to '''time();''' (in PHP 8, a parameter is mandatory for time function, so the call changes). |
|||
|- |
|||
|<#LastDataReadT> |
|||
|The date/time data was last read from the station. Default format for this tag is like this example '''18:30 on 30 December 2009''', but output parameters for both date and time can modify this to include seconds in 1.9.x builds and most MX builds such as per this example '<#LastDataReadT format="yyyy-MM-dd HH:mm:ss">'. |
|||
|- |
|||
|<#DaysSince30Dec1899> |
|||
|Day count (gives whole and fractional part) Example: 41250.6523310301 |
|||
|- |
|||
|<#recordsbegandate> |
|||
|Date when records began (appears twice on "recordT.htm" provided in standard web page, and used to calculate next tag, but ignored for all other Cumulus processing). Any output parameters valid for a date can be used here, don't forget differences in modifiers for Cumulus 1 and MX. There is no time associated with this web tag. The default format is like 30 December 2009, please note although this web tag reports the value associated with [b]StartDate=dd/MM/yyyy[/b] (see [[Cumulus.ini#Section:_Station]]), the format there is short-date format and different to default format for this web tag. |
|||
|- |
|||
|<#DaysSinceRecordsBegan> |
|||
|Day count since Cumulus records started |
|||
|} |
|||
==Today== |
|||
Cumulus allows some control over the time that "Today" begins: |
|||
* For the weather diary feature (originally called "The Log" if you have a very old release or look at old posts on the support forum), Cumulus classifies what you enter by a date. The hour of the day, when that date is first applied, is set in the configuration by the '''SnowDepthHour''' (called that as the only tag name available in the legacy Cumulus was for Snow Depth. |
|||
** The default snow depth hour is 9 for the legacy Cumulus and 0 for MX. |
|||
* Readings from your weather station are assigned to the "Today" based on 3 options for [[Meteorological day]] |
|||
*# starting at 9:00 am, based on winter time, so switching to 10:00 during Daylight Saving (summer) time, or |
|||
*# starting at 9:00 am, all year round, or |
|||
*# aligned with calendar days, so today starts at midnight |
|||
The practice for professional meteorologists varies between nations, some of the traditional practices listed below have been abandoned now most weather reading is by machines: |
|||
* Generally, Meteorologists report snowfall, and snow days, on a calendar day basis (i.e. midnight to midnight). |
|||
* Most frequently, the Lowest temperature for a day is that recorded prior to the start time for Highest temperature. |
|||
** This is because Meteorologists in the past took manual observations at one, or more, fixed times during each day (9 a.m. was the most common, and the closest lowest temperature was generally earlier that morning, while the closest highest temperature was generally the following afternoon) |
|||
* Sunshine hours were recorded from sunrise to sunset, so assigned to "Today" aligned with calendar day |
|||
* The way that total rainfall was reported varied: |
|||
** Some nations assigned used days that ended at 9 a.m. so rainfall was recorded against the end date |
|||
** Sometimes totals were recorded separately for 9 a.m to 3 p.m, with 3 p.m. to 9 a.m being assigned to next day (again these were manual observation times) |
|||
** In other cases, the total for 9 p.m to 9 a.m was recorded separately, and possibly assigned to the day after the total for 9 a.m. to 9 p.m. |
|||
Cumulus does not support most of these practices. The independence of the start time for weather diary and weather station related web tags means needs to be remembered when labelling web tags from the two tables below. Steve Loft assumed that you would use 9 a.m. as start time for both, but not care when snow fell, as it often has in the UK, after Summer Time has begun, so weather station tags were by default reporting from 10 a.m. local time and snow as at 9 a.m. |
|||
In MX, if you choose 9 a.m. (optionally 10 a.m. in summer) for rollover, so all the standard derivative are assigned to the date the meteorological day starts as Today, but the sunshine hours recorded against today will be from midnight on the said date. |
|||
===Weather Diary=== |
|||
This first table lists all the web tags available for reporting what is recorded in the weather diary. Just to be clear, the web tags shown below, will report data for previous day if the current time is before the snow depth hour setting, and report data for the current day if the current time matches the snow depth hour or is later. |
This first table lists all the web tags available for reporting what is recorded in the weather diary. Just to be clear, the web tags shown below, will report data for previous day if the current time is before the snow depth hour setting, and report data for the current day if the current time matches the snow depth hour or is later. |
||
Line 1,200: | Line 1,413: | ||
If there is no entry in Weather Diary for the day explained above, reports zero. |
If there is no entry in Weather Diary for the day explained above, reports zero. |
||
{{Version badge 1}} Input and output is always as integer. Available from very early builds, weather diary input amended from version 1.8.6 14th April 2009 to allow units to be specified on diary edit screen. If you choose to enter as whole millimetres, you can use JavaScript (or another script language) on your web page to divide the web tag by 10 and get centimetres to 1 decimal place on output. |
|||
[[File:Badge vMx.png]] Input is to 2 decimal places. Available from version 3.1.1 - build 3054 when weather diary editor was added to MX. MX allows output in centimetres with decimal places without any script. You can't change the units shown in admin interface, but your value can be input as inches to 2 decimal places if you ignore "cm" that is displayed in that interface. |
[[File:Badge vMx.png]] Input is to 2 decimal places. Available from version 3.1.1 - build 3054 when weather diary editor was added to MX. MX allows output in centimetres with decimal places without any script. You can't change the units shown in admin interface, but your value can be input as inches to 2 decimal places if you ignore "cm" that is displayed in that interface. |
||
[[File:Badge v1.png|Fil]] Input and output is always as integer. Available from very early builds, weather diary input amended from version 1.8.6 14th April 2009 to allow units to be specified on diary edit screen. If you choose to enter as whole millimetres, you can use JavaScript (or another script language) on your web page to divide the web tag by 10 and get centimetres to 1 decimal place on output. |
|||
|- |
|- |
||
|<#snowlying> |
|<#snowlying> |
||
| [[File:Badge vMx.png]] Available from version 3.1.1 - build 3054. If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked. |
|||
|{{Version badge 1}}Although this tag is not available in Cumulus 1, your web page can use a script to check if <#snowdepth> is non zero, as that means snow is lying |
|||
[[File:Badge |
[[File:Badge v1.png]] Although this tag is not available in Cumulus 1, your web page can use a script to check if <#snowdepth> is non zero, as that means snow is lying |
||
|- |
|- |
||
|<#snowfalling> |
|<#snowfalling> |
||
| [[File:Badge vMx.png]] Available from version 3.1.1 - build 3054. If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked. |
|||
|{{Version badge 1}} Not available in Cumulus 1. There is no web page workaround, unless you write a script that reads [[Weather Diary]] and makes relevant information available on your web server. |
|||
[[File:Badge |
[[File:Badge v1.png]] Not available in Cumulus 1. There is no web page workaround, unless you write a script that reads [[Weather Diary]] and makes relevant information available on your web server. |
||
|} |
|} |
||
===Today.ini=== |
===Today.ini=== |
||
As explained earlier, these tags relate to latest [[Meteorological day]], except for Sunshine Hours which relate to latest Calendar day. |
|||
This second table takes most of its information from the data log for today, many of these web tags are used on the supplied '''todayT.htm''' template in the "/web" folder. If you are using MX, the today and yesterday page in the [[MX_Administrative_Interface]] shows similar information by using the [[Cumulus_MX_Local_API#Today.2FYesterday_Data|local application programming interface]]. |
|||
Information for these tags is taken from [[today.ini]], hence the sub-section title, although Sunshine Hours can be taken from either [[yesterday.ini]] or "today.ini" depending on (respectively) whether before or after rollover time if that is not midnight. |
|||
Many of these web tags were used on the supplied '''todayT.htm''' template in the legacy "/web" folder. If you are using MX, the today and yesterday page in the [[MX_Administrative_Interface]] shows similar information by using the [[Cumulus_MX_Local_API#Today.2FYesterday_Data|local application programming interface]]. |
|||
For web tags that report values that refer to a particular time of day, there is a corresponding web tag that can give the time of day, shown in same row of table below. For those that cover whole day so far, the final column contains "n/a". |
For web tags that report values that refer to a particular time of day, there is a corresponding web tag that can give the time of day, shown in same row of table below. For those that cover whole day so far, the final column contains "n/a". |
||
Please note none of the time web tags can be modified by output parameters to give a date, but they can be changed from the default time format that is 'H:mm' (24 hour clock notation without leading zero for hour) for Cumulus 1 and MX. |
Please note none of the time web tags can be modified by output parameters to give a date, but they can be changed from the default time format that is 'H:mm' (24 hour clock notation without leading zero for hour) for Cumulus 1 and MX. |
||
If you are using output modifiers to change how the time is reported, be careful to use ones that work for the flavour of Cumulus you are using ('H' and 'h' are same for Cumulus 1, but the two codes represent different formats for MX; MX insists on 'mm' being used for minutes, but the 'NN' and 'nn' used by Cumulus 1 could be replaced by 'mm' if they followed an hour specifier). |
|||
{| class="wikitable" border="1" |
{| class="wikitable" border="1" |
||
|- |
|- |
||
Line 1,418: | Line 1,637: | ||
From '''version 3.5.4''' build 3075, |
From '''version 3.5.4''' build 3075, most web tags (one notable exception is indoor temperature <#intemp> where rc parameter not available until version 3.6.8 build 3084), that produce decimal number output now support the "'''rc=y'''" option. e.g. <tt><#tempYH rc=y></tt> will report yesterday's highest temperature using a full stop to separate decimal part where the locale would normally use a comma. |
||
=== Heading text === |
|||
e decimal number output now support the "'''rc=y'''" option. e.g. <tt><#tempYH rc=y></tt> will report yesterday's highest temperature using a full stop to separate decimal part where the locale would normally use a comma. |
|||
==Yesterday== |
==Yesterday== |
||
Line 1,604: | Line 1,821: | ||
|Yesterday's high UV Index (UV sensor needed) |
|Yesterday's high UV Index (UV sensor needed) |
||
|<#TUVYH> |
|<#TUVYH> |
||
|} |
|||
==Monthly== |
|||
This table shows the web tags used on the '''thismonthT.htm''' web template. |
|||
Because the rainfall this month does not appear on '''thismonthT.htm''' web page, it is shown in [[#Current_Conditions|indexT.htm]] table earlier in this article which is for the web page where it does appear. |
|||
The web tags in the date column output dates in the format "dd MMMM" (for once this is same for Cumulus 1 and Cumulus MX). Should you require a different output format, this can be changed using the [[#Time.2FDate_.27format.27_Parameter|format parameters]] described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters. Do make sure that you get the web tag names right and the output form at parameters right. |
|||
As another example of inconsistency in how web tags added in different versions are coded, there are two web tags (highest minimum/lowest maximum temperatures) where a standard web tag is not provided by Cumulus (1 or MX) for the associated time-stamp. Consequently, for these 2 (and their corresponding tags in the this year group), there are mandatory output parameters required as shown in the table. Obviously Cumulus 1 lets you use "NN", "nn", "MM", or "mm" for the minutes, but minutes can only be represented in one way in Cumulus MX. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px"|Web tag_name |
|||
!style="width:300px"|Function |
|||
!style="width:150px"|Time |
|||
!style="width:150px"|Date |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Temperature & Humidity |
|||
|- |
|||
|<#MonthTempH> |
|||
|This months high temperature |
|||
|<#MonthTempHT> |
|||
|<#MonthTempHD> |
|||
|- |
|||
|<#MonthTempL> |
|||
|This months low temperature |
|||
|<#MonthTempLT> |
|||
|<#MonthTempLD> |
|||
|- |
|||
|<#MonthMinTempH> |
|||
|This months highest daily minimum temperature |
|||
|[[File:badge v1.png]]<#MonthMinTempHD format=hh:nn> or <#MonthMinTempHD format=HH:mm> for Cumulus 1, |
|||
[[File:Badge vMx.png]] <#MonthMinTempHD format=HH:mm> for Cumulus MX |
|||
|<#MonthMinTempHD> |
|||
|- |
|||
|<#MonthMaxTempL> |
|||
|This months lowest daily maximum temperature |
|||
|[[File:badge v1.png]]<#MonthMaxTempLD format=HH:mm> or <#MonthMaxTempLD format=hh:nn> for Cumulus 1, |
|||
[[File:Badge vMx.png]]<#MonthMaxTempLD format=HH:mm> for Cumulus MX |
|||
|<#MonthMaxTempLD> |
|||
|- |
|||
|<#MonthHighDailyTempRange> |
|||
|High Daily Temp Range |
|||
|n/a |
|||
|<#MonthHighDailyTempRangeD> |
|||
|- |
|||
|<#MonthLowDailyTempRange> |
|||
|Low Daily Temp Range |
|||
|n/a |
|||
|<#MonthLowDailyTempRangeD> |
|||
|- |
|||
|<#MonthHeatIndexH> |
|||
|This months high USA heat index |
|||
|<#MonthHeatIndexHT> |
|||
|<#MonthHeatIndexHD> |
|||
|- |
|||
|<#MonthWChillL> |
|||
|This months greatest wind chill (i.e. lowest temperature) |
|||
|<#MonthWChillLT> |
|||
|<#MonthWChillLD> |
|||
|- |
|||
|<#MonthAppTempH> |
|||
|This month's high apparent temperature |
|||
|<#MonthAppTempHT> |
|||
|<#MonthAppTempHD> |
|||
|- |
|||
|<#MonthAppTempL> |
|||
|This month's low apparent temperature |
|||
|<#MonthAppTempLT> |
|||
|<#MonthAppTempLD> |
|||
|- |
|||
|<#MonthFeelsLikeH> |
|||
|This month's highest feels like temperature (available from [[File:Badge vMx.png]] 3.6.0) (NOT AVAILABLE IN CUMULUS 1) |
|||
|<#MonthFeelsLikeHT> |
|||
|<#MonthFeelsLikeHD> |
|||
|- |
|||
|<#MonthFeelsLikeL> |
|||
|This months lowest feels like temperature (available from [[File:Badge vMx.png]] 3.6.0) (NOT AVAILABLE IN CUMULUS 1) |
|||
|<#MonthFeelsLikeLT> |
|||
|<#MonthFeelsLikeLD> |
|||
|- |
|||
|<#MonthHumidexH> |
|||
|[[File:Badge vMx.png]] (Available from version 3.7.0) (NOT AVAILABLE IN CUMULUS 1) |
|||
This month's highest Canadian Humidity Index |
|||
|<#MonthHumidexHT> |
|||
|<#MonthHumidexHD> |
|||
|- |
|||
|<#MonthDewPointH> |
|||
|This month's high dew point |
|||
|<#MonthDewPointHT> |
|||
|<#MonthDewPointHD> |
|||
|- |
|||
|<#MonthDewPointL> |
|||
|This month's low dew point |
|||
|<#MonthDewPointLT> |
|||
|<#MonthDewPointLD> |
|||
|- |
|||
|<#MonthHumH> |
|||
|This month's highest humidity |
|||
|<#MonthHumHT> |
|||
|<#MonthHumHD> |
|||
|- |
|||
|<#MonthHumL> |
|||
|This month's lowest humidity |
|||
|<#MonthHumLT> |
|||
|<#MonthHumLD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Pressure |
|||
|- |
|||
|<#MonthPressH> |
|||
|This month's highest pressure |
|||
|<#MonthPressHT> |
|||
|<#MonthPressHD> |
|||
|- |
|||
|<#MonthPressL> |
|||
|This month's lowest pressure |
|||
|<#MonthPressLT> |
|||
|<#MonthPressLD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Wind |
|||
|- |
|||
|<#MonthGustH> |
|||
|This month's highest wind gust |
|||
|<#MonthGustHT> |
|||
|<#MonthGustHD> |
|||
|- |
|||
|<#MonthWindH> |
|||
|This month's highest wind speed |
|||
|<#MonthWindHT> |
|||
|<#MonthWindHD> |
|||
|- |
|||
|<#MonthWindRunH> |
|||
|This month's high Daily Wind Run |
|||
|n/a |
|||
|<#MonthWindRunHD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Rainfall |
|||
|- |
|||
|<#MonthRainRateH> |
|||
|This month's highest rainfall rate |
|||
|<#MonthRainRateHT> |
|||
|<#MonthRainRateHD> |
|||
|- |
|||
|<#MonthHourlyRainH> |
|||
|This month's highest hourly rain |
|||
|<#MonthHourlyRainHT> |
|||
|<#MonthHourlyRainHD> |
|||
|- |
|||
|<#MonthDailyRainH> |
|||
|This month's wettest day (greatest daily rain) |
|||
|n/a |
|||
|<#MonthDailyRainHD> |
|||
|- |
|||
|<#MonthLongestDryPeriod> |
|||
|Longest dry period ending this month (days) |
|||
|n/a |
|||
|<#MonthLongestDryPeriodD> |
|||
|- |
|||
|<#MonthLongestWetPeriod> |
|||
|Longest period of rain every day, ending this month (days) |
|||
|n/a |
|||
|<#MonthLongestWetPeriodD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Solar |
|||
[[File:Badge vMx.png]] (Available from release 3.12.0 onwards) |
|||
|- |
|||
| <#SunshineHoursMonth> |
|||
| the total sunshine hours in month-to-date, or with [[Webtags/Parameters#Input_modification_Parameters|input modification parameters using either '''y''' and '''m''' or '''r''']] for a past month |
|||
| n/a |
|||
| n/a |
|||
|} |
|} |
||
Line 2,104: | Line 2,147: | ||
|<#TwindrunH> |
|<#TwindrunH> |
||
|} |
|} |
||
==Monthly== |
|||
This table shows the web tags used on the '''thismonthT.htm''' web template. |
|||
Because the rainfall this month does not appear on '''thismonthT.htm''' web page, it is shown in [[#Current_Conditions|indexT.htm]] table earlier in this article which is for the web page where it does appear. |
|||
The web tags in the date column output dates in the format "dd MMMM" (for once this is same for Cumulus 1 and Cumulus MX). Should you require a different output format, this can be changed using the [[#Time.2FDate_.27format.27_Parameter|format parameters]] described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters. Do make sure that you get the web tag names right and the output form at parameters right. |
|||
As another example of inconsistency in how web tags added in different versions are coded, there are two web tags (highest minimum/lowest maximum temperatures) where a standard web tag is not provided by Cumulus (1 or MX) for the associated time-stamp. Consequently, for these 2 (and their corresponding tags in the this year group), there are mandatory output parameters required as shown in the table. Obviously Cumulus 1 lets you use "NN", "nn", "MM", or "mm" for the minutes, but minutes can only be represented in one way in Cumulus MX. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px"|Web tag_name |
|||
!style="width:300px"|Function |
|||
!style="width:150px"|Time |
|||
!style="width:150px"|Date |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Temperature & Humidity |
|||
|- |
|||
|<#MonthTempH> |
|||
|This months high temperature |
|||
|<#MonthTempHT> |
|||
|<#MonthTempHD> |
|||
|- |
|||
|<#MonthTempL> |
|||
|This months low temperature |
|||
|<#MonthTempLT> |
|||
|<#MonthTempLD> |
|||
|- |
|||
|<#MonthMinTempH> |
|||
|This months highest daily minimum temperature |
|||
|[[File:badge v1.png]]<#MonthMinTempHD format=hh:nn> or <#MonthMinTempHD format=HH:mm> for Cumulus 1, |
|||
[[File:Badge vMx.png]] <#MonthMinTempHD format=HH:mm> for Cumulus MX |
|||
|<#MonthMinTempHD> |
|||
|- |
|||
|<#MonthMaxTempL> |
|||
|This months lowest daily maximum temperature |
|||
|[[File:badge v1.png]]<#MonthMaxTempLD format=HH:mm> or <#MonthMaxTempLD format=hh:nn> for Cumulus 1, |
|||
[[File:Badge vMx.png]]<#MonthMaxTempLD format=HH:mm> for Cumulus MX |
|||
|<#MonthMaxTempLD> |
|||
|- |
|||
|<#MonthHighDailyTempRange> |
|||
|High Daily Temp Range |
|||
|n/a |
|||
|<#MonthHighDailyTempRangeD> |
|||
|- |
|||
|<#MonthLowDailyTempRange> |
|||
|Low Daily Temp Range |
|||
|n/a |
|||
|<#MonthLowDailyTempRangeD> |
|||
|- |
|||
|<#MonthHeatIndexH> |
|||
|This months high USA heat index |
|||
|<#MonthHeatIndexHT> |
|||
|<#MonthHeatIndexHD> |
|||
|- |
|||
|<#MonthWChillL> |
|||
|This months greatest wind chill (i.e. lowest temperature) |
|||
|<#MonthWChillLT> |
|||
|<#MonthWChillLD> |
|||
|- |
|||
|<#MonthAppTempH> |
|||
|This month's high apparent temperature |
|||
|<#MonthAppTempHT> |
|||
|<#MonthAppTempHD> |
|||
|- |
|||
|<#MonthAppTempL> |
|||
|This month's low apparent temperature |
|||
|<#MonthAppTempLT> |
|||
|<#MonthAppTempLD> |
|||
|- |
|||
|<#MonthFeelsLikeH> |
|||
|This month's highest feels like temperature (available from [[File:Badge vMx.png]] 3.6.0) (NOT AVAILABLE IN CUMULUS 1) |
|||
|<#MonthFeelsLikeHT> |
|||
|<#MonthFeelsLikeHD> |
|||
|- |
|||
|<#MonthFeelsLikeL> |
|||
|This months lowest feels like temperature (available from [[File:Badge vMx.png]] 3.6.0) (NOT AVAILABLE IN CUMULUS 1) |
|||
|<#MonthFeelsLikeLT> |
|||
|<#MonthFeelsLikeLD> |
|||
|- |
|||
|<#MonthHumidexH> |
|||
|[[File:Badge vMx.png]] (Available from version 3.7.0) (NOT AVAILABLE IN CUMULUS 1) |
|||
This month's highest Canadian Humidity Index |
|||
|<#MonthHumidexHT> |
|||
|<#MonthHumidexHD> |
|||
|- |
|||
|<#MonthDewPointH> |
|||
|This month's high dew point |
|||
|<#MonthDewPointHT> |
|||
|<#MonthDewPointHD> |
|||
|- |
|||
|<#MonthDewPointL> |
|||
|This month's low dew point |
|||
|<#MonthDewPointLT> |
|||
|<#MonthDewPointLD> |
|||
|- |
|||
|<#MonthHumH> |
|||
|This month's highest humidity |
|||
|<#MonthHumHT> |
|||
|<#MonthHumHD> |
|||
|- |
|||
|<#MonthHumL> |
|||
|This month's lowest humidity |
|||
|<#MonthHumLT> |
|||
|<#MonthHumLD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Pressure |
|||
|- |
|||
|<#MonthPressH> |
|||
|This month's highest pressure |
|||
|<#MonthPressHT> |
|||
|<#MonthPressHD> |
|||
|- |
|||
|<#MonthPressL> |
|||
|This month's lowest pressure |
|||
|<#MonthPressLT> |
|||
|<#MonthPressLD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Wind |
|||
|- |
|||
|<#MonthGustH> |
|||
|This month's highest wind gust |
|||
|<#MonthGustHT> |
|||
|<#MonthGustHD> |
|||
|- |
|||
|<#MonthWindH> |
|||
|This month's highest wind speed |
|||
|<#MonthWindHT> |
|||
|<#MonthWindHD> |
|||
|- |
|||
|<#MonthWindRunH> |
|||
|This month's high Daily Wind Run |
|||
|n/a |
|||
|<#MonthWindRunHD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Rainfall |
|||
|- |
|||
|<#MonthRainRateH> |
|||
|This month's highest rainfall rate |
|||
|<#MonthRainRateHT> |
|||
|<#MonthRainRateHD> |
|||
|- |
|||
|<#MonthHourlyRainH> |
|||
|This month's highest hourly rain |
|||
|<#MonthHourlyRainHT> |
|||
|<#MonthHourlyRainHD> |
|||
|- |
|||
|<#MonthDailyRainH> |
|||
|This month's wettest day (greatest daily rain) |
|||
|n/a |
|||
|<#MonthDailyRainHD> |
|||
|- |
|||
|<#MonthLongestDryPeriod> |
|||
|Longest dry period ending this month (days) |
|||
|n/a |
|||
|<#MonthLongestDryPeriodD> |
|||
|- |
|||
|<#MonthLongestWetPeriod> |
|||
|Longest period of rain every day, ending this month (days) |
|||
|n/a |
|||
|<#MonthLongestWetPeriodD> |
|||
|- |
|||
|colspan="4" style="background:lightgray;"|Solar |
|||
[[File:Badge vMx.png]] (Available from release 3.12.0 onwards) |
|||
|- |
|||
| <#SunshineHoursMonth> |
|||
| the total sunshine hours in month-to-date, or with [[Webtags/Parameters#Input_modification_Parameters|input modification parameters using either '''y''' and '''m''' or '''r''']] for a past month |
|||
| n/a |
|||
| n/a |
|||
|} |
|||
==Monthly All Time Records== |
==Monthly All Time Records== |
||
Line 2,109: | Line 2,327: | ||
This table includes web tags that show the values in [[Monthlyalltime.ini]] log file, which was introduced in version 1.9.3 (build 1033, 10 Apr 2012). |
This table includes web tags that show the values in [[Monthlyalltime.ini]] log file, which was introduced in version 1.9.3 (build 1033, 10 Apr 2012). |
||
These are a set of tags for monthly all-time highs and lows, in other words the highest and lowest values for a particular month of the year. |
These are a set of tags for monthly all-time highs and lows, in other words the highest and lowest values for a particular month of the year. |
||
# The tag names listed here require a [[Webtags/Parameters#Input_modification_Parameters|input modification parameter]]. |
|||
# The tag names here can optionally take any [[Webtags/Parameters#Output_modification_parameters|output modification parameters]]. |
|||
# To supply both optional input modification, and optional output modification parameters, separate them with spaces, e.g. <#ByMonthTempHT mon=7 format=hh:nn>. In that example, the time (not date) of highest ever temperature in July is returned after processing by Cumulus. |
|||
At release 3.6.10 (build 3086), and at release 3.7.0 (build 3089); additional tag names were introduced: |
|||
Additional tags correctly populated from 3.6.10 (build 3086) or 3.7.0 (build 3089) are marked with a "MX" icon as they are not available in Cumulus 1. Please note the 3.6.10 release was available from 24 June 2020, if the date/time shown for those MX only tags is before when you installed that (or a later release), the feels like output may show incorrect values. |
|||
* They are marked with a "MX" icon as they are not available in legacy Cumulus 1. |
|||
* If you have any "feels like temperatures" that appear with a date/time parameter with a date before 24 June 2020, or before you installed the 3.6.10 release (or a later release), then the value web tag may show incorrect values. |
|||
{| class="wikitable" border="1" |
{| class="wikitable" border="1" |
||
|- |
|- |
||
Line 2,328: | Line 2,549: | ||
|Returns 1 if the sun is shining, otherwise 0 (Solar sensor needed) |
|Returns 1 if the sun is shining, otherwise 0 (Solar sensor needed) |
||
|} |
|} |
||
<pre> |
|||
* Footnote: PHP code extract<code> $MoonAgeDays = <#MoonAge dp=0> +0; |
|||
* Footnote: PHP code extract: |
|||
$MoonAgeDays = <#MoonAge dp=0> +0; |
|||
$moonDecimalPart = <#MoonAge dp=4> - $MoonAgeDays; |
$moonDecimalPart = <#MoonAge dp=4> - $MoonAgeDays; |
||
$MoonAgeHours = round($moonDecimalPart * 24, 0); |
$MoonAgeHours = round($moonDecimalPart * 24, 0); |
||
Line 2,335: | Line 2,558: | ||
$MoonAge = $MoonAgeDays . ' days, ' . $MoonAgeHours . ' hours, ' |
$MoonAge = $MoonAgeDays . ' days, ' . $MoonAgeHours . ' hours, ' |
||
. $MoonAgeMinutes . ' minutes, ' . $MoonAgeSeconds . ' seconds'; |
. $MoonAgeMinutes . ' minutes, ' . $MoonAgeSeconds . ' seconds'; |
||
// Change the English words 'days, ', ' hours, ', and 'minutes' to the equivalents in your language</ |
// Change the English words 'days, ', ' hours, ', and 'minutes' to the equivalents in your language</pre> |
||
==Alarms== |
==Alarms== |
||
Line 2,439: | Line 2,662: | ||
|<#newrecord> |
|<#newrecord> |
||
|Indicates when any tracked extreme is changed. |
|Indicates when any tracked extreme is changed. |
||
* [[File:Badge vMx.png]]In Cumulus MX: 1 from when new record is set until |
|||
*{{Version badge 1}}In Cumulus 1.x.x: |
|||
** 1 if 'new record' light is flashing, |
|||
**0 if not |
|||
*[[File:Badge vMx.png]]In Cumulus MX: 1 from when new record is set until |
|||
** either all records have cleared |
** either all records have cleared |
||
**or until next rollover is completed, |
** or until next rollover is completed, |
||
** or (in recent releases) until the number of hours for clearing extreme record notifications has passed |
|||
*0 otherwise |
|||
* 0 otherwise |
|||
* [[File:Badge v1.png]]In Cumulus 1.x.x: |
|||
** 1 if 'new record' light is flashing, |
|||
** 0 if not |
|||
|- |
|- |
||
|<#TempRecordSet> |
|<#TempRecordSet> |
||
Line 2,549: | Line 2,773: | ||
==Special tags== |
==Special tags== |
||
===OS WMR Series=== |
|||
There are a set of tags for the WMR928, WR100/200 extra sensors: |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:600px" |Function |
|||
|- |
|||
|n/a |
|||
|Now incorporated into the Extra Sensors section above |
|||
|} |
|||
===Davis=== |
===Davis=== |
||
Line 2,657: | Line 2,870: | ||
|} |
|} |
||
=== Davis AirLink === |
|||
New from version 3.9.0. Not available for earlier MX, not available for Cumulus 1. |
|||
Note, that you can configure an Indoor or Outdoor (or both) AirLink, most people will use an outdoor. There are a similar set of tags for each device. |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:600px" |Function |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Particulate Matter |
|||
|- |
|||
|<#AirLinkPm1[InǀOut]> |
|||
|Current particulate matter of 1 μm, or less count |
|||
|- |
|||
|<#AirLinkPm2p5[InǀOut]> |
|||
|Currentparticulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_3hr[InǀOut]> |
|||
|Last 3 hours average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_24hr[InǀOut]> |
|||
|Last 24 hours average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm2p5_Nowcast[InǀOut]> |
|||
|The 24 hour "nowcast" weighted average particulate matter of 2.5 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10[InǀOut]> |
|||
|Current particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_3hr[InǀOut]> |
|||
|Last 3 hours average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_24hr[InǀOut]> |
|||
|Last 24 hours average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|<#AirLinkPm10_Nowcast[InǀOut]> |
|||
|The 24 hour "nowcast" weighted average particulate matter of 10 μm, or less, count |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Air Quality Index Values |
|||
|- |
|||
|<#AirLinkAqiPm2p5[InǀOut]> |
|||
|Current particulate matter of 2.5 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_3hr[InǀOut]> |
|||
|Last 3 hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_24hr[InǀOut]> |
|||
|Last 24 hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm2p5_Nowcast[InǀOut]> |
|||
|Last 24 hour "nowcast" weighted average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm210[InǀOut]> |
|||
|Current particulate matter of 10 μm, or less value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_1hr[InǀOut]> |
|||
|Last hour average particulate matter of 10 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_3hr[InǀOut]> |
|||
|Last 3 hour average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_24hr[InǀOut]> |
|||
|Last 24 hour average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|<#AirLinkAqiPm10_Nowcast[InǀOut]> |
|||
|Last 24 hour "nowcast" weighted average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Stats Values |
|||
|- |
|||
|<#AirLinkPct_1hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 1 hour averages |
|||
|- |
|||
|<#AirLinkPct_3hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 3 hour averages |
|||
|- |
|||
|<#AirLinkPct_24hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 24 hour averages |
|||
|- |
|||
|<#AirLinkPct_1hr[InǀOut]> |
|||
|Percentage of possible values that were included in the 24 hour weighted averages |
|||
|- |
|||
|colspan="2" style="background:lightgray;"|Sensor Info |
|||
|- |
|||
|<#AirLinkFirmwareVersion[InǀOut]> |
|||
|Shows the AirLink firmware version as a date string. |
|||
NOTE: This web tag requires a WeatherLink Pro subscription to work |
|||
|- |
|||
|<#AirLinkTemp[InǀOut]> |
|||
|The sensors internal temperatue value |
|||
|- |
|||
|<#AirLinkHum[InǀOut]> |
|||
|The sensors internal humidity value |
|||
|- |
|||
|<#AirLinkWifiRssi[InǀOut]> |
|||
|The sensors WiFi signal strength in dB - anything below -90 is considered very poor. |
|||
NOTE: This web tag requires a WeatherLink Pro subscription to work |
|||
|} |
|||
===Ecowitt WH45 CO₂ sensor=== |
|||
{{Version badge 1}} Not available in Cumulus 1. |
|||
[[File:Badge vMx.png]] Unless otherwise indicated these web tags become available from release 3.9.5. |
|||
<big>THE INFORMATION HERE IS TAKEN FROM RELEASE ANNOUNCEMENTS THAT DO NOT EXPLAIN WHAT THESE WEB TAGS REPORT |
|||
PLEASE WOULD SOMEBODY WHO UNDERSTANDS THIS TERMINOLOGY UPDATE THE FOLLOWING TABLE</big> |
|||
{| class="wikitable" border="1" |
|||
|- |
|||
!style="width:150px" |Web tag_name |
|||
!style="width:600px" |Function |
|||
|- |
|||
| <#CO2-pm2p5> |
|||
| Air Quality expressed in terms of particulate matter of 2.5 micrometres or less |
|||
|- |
|||
| <#CO2-pm2p5-24h> |
|||
| Air Quality expressed in terms of particulate matter of 2.5 μm, or less, Last 24 hours average |
|||
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS |
|||
|- |
|||
| <#CO2-pm10> |
|||
| Air Quality expressed in terms of particulate matter of 10 μm, or less |
|||
|- |
|||
| <#CO2-pm10-24h> |
|||
| Air Quality expressed in terms of particulate matter of 10 μm, or less, Last 24 hours average |
|||
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS |
|||
|- |
|||
| <#CO2-temp> |
|||
| Temperature as reported by Air Quality monitor |
|||
|- |
|||
| <#CO2-hum> |
|||
| Relative Humidity as reported by Air Quality monitor |
|||
|} |
|||
Revision as of 20:10, 24 July 2021
Please be aware some content originally on this page has been moved to other pages. Old posts on the support forum that used to link directly to the specific material, will instead bring you to this start of the page.
The new links to material that has been moved off this page can be found approximately where the material used to be within two sections on this page: [#Input Modification Parameters and Output Modification Parameters]] and #The tag name.
Essential Background Reading
If you have not used this Wiki page before, or are unsure about using "web tags", there are some concepts that you do need to understand in the sub-sections that follow.
- if you use the default web site, then web tags are provided to your web server using the WebsitedataT.json file, so see those 2 linked pages if you are interested in the default web pages.
Continue reading this Wiki Page if you are using your own (customised) web pages, using legacy web pages, or want a definitive list of all available web tags.
What is a web tag?
Weather values are always changing, so Cumulus needs a way for you to tell Cumulus to enter the current value for a particular derivative, when it is processing templates.
General Format for Web Tags
In the position, in any template file, SQL, or Custom HTTP, where Cumulus is to insert the relevant data, place a web tag in the general format specified here: <#tag_name [optional input selection parameters] [optional output modification parameters]>
The optional parameters
The terminology "optional" is used because some tag names do not accept any parameters, but there are some tag names where a parameter is mandatory. Therefore, check the web tag parameters page to learn whether a web tag name you find here requires a mandatory parameter, or to find out which parameters are optionally available.
The tables of tag names that appear later on this page will seldom give any information about which parameters are mandatory or optional. There are tables on the other page referenced above that help you to understand what parameters the various tag names accept, explain each of the parameters available, and give examples.
There is a basic guide to what these parameters can do, and another link to the new page at #Input Modification Parameters and Output Modification Parameters later on this page.
The tag names
are in #Full List of Tag Names later on this page.
As Cumulus has developed, more tag names have been introduced, the tables showing tag names available, attempt to give an indication of which release introduced them. The information that used to appear on this page for differences between MX and the legacy Cumulus has been moved to a new Web tag Applicability page.
For tag names available in the release you are using, see the next sub-section.
If you are using a Oregon Scientific weather station, then you should read #Web tags mentioning (outside) temperature in the optional reading section.
General Tip
This sub-section applies to releases up to 3.11.4. (From 3.12.0, use the admin interface and Station settings → Common Options → Advanced options, to get to where you change this setting, instead of editing the file as described below).
The tag names available in the release/version/build you are using, can be listed (in Cumulus 1 or Cumulus MX) by adding the following line to Cumulus.ini in the [station] section...
ListWebTags=1
Then start Cumulus and it will create a file called WebTags.txt in the same folder as where the executable is found. That file will list all the tags your build of Cumulus can currently generate. This list only contains the tag_names, it does not indicate what parameters they can take, nor does it include the brackets the tag name is surrounded by when you quote it in a template file for Cumulus to process.
To stop Cumulus continuing to produce new versions of that file change the line to say ...
ListWebTags=0
If you are using Cumulus 1, each build of that contains a build specific version of Cumulus Help, and within that help is a list of web tags with basic information on what each tag_name returns.
MX bug: The inclusion of a web tag in the list produced by this instruction, does not mean that web tag is actually populated with valid information. See https://cumulus.hosiene.co.uk/viewtopic.php?p=153096#p153096 for an example.
The functionality that can use web tags
In the legacy Cumulus software, the only functionality that could use this was the Cumulus template file used to provide data to a web server. That is why Steve Loft, the author of that software named them web tags.
MX has extended the use of these web tags, they can now be inserted into a SQL commands, Custom HTTP, application programming interface, as well as template files.
The output file can be:
- a web page,
- a JavaScript Object Notation (.json) file
- a JavaScript file,
- a PHP script file, or
- a eXtensible Mark-up Language (XML) file.
Optional Background Reading
Web tags mentioning (outside) temperature
For Oregon Scientific weather stations using, either USB connections (e.g. WMR-200), or serial connections (e.g. WMR-928), that can have multiple temperature sensors, it is possible to configure which sensor the outdoor temperature (for which daily and longer period extreme records are maintained) is read from, by following this set of instructions originally supplied by Steve Loft:
- Stop Cumulus in the normal way
- Use a text editor to edit the file called Cumulus.ini
- Scroll down to the line that contains [Station]
- Create a blank line below it by pressing Return
- In that new line, type the command shown in the relevant code box below, type the attribute and equals sign exactly as shown without spaces (regardless of your exact model),
- USB connections →
WMR200TempChannel=N
- Serial connections →
WMR928TempChannel=N
- USB connections →
- Now edit the value shown after the equals sign, replace N with the relevant number from the following list:
- To use the main sensor, replace N with 0 (or don't bother with this procedure, as that is default)
- To use Extra Temp 1 sensor, replace N with 1
- To use Extra Temp 2 sensor, replace N with 2
- and so on, up to a possible maximum (check with your weather station, but Cumulus can accept up to 12)
- Save the file, and exit
- Restart Cumulus in the normal way
For other weather stations, the main outdoor temperature sensor is used for what is reported for current value, daily extremes, and longer period extreme records. This temperature is also used for calculation of derived values such as Australian Apparent Temperature, Canadian Humidity Index, and USA Heat Index.
Input Modification Parameters and Output Modification Parameters
In #Scary_statistics section of this page, it is explained how less than a thousand tag names as they are only part of the #General Format for Web Tags become billions of web tags, simply by adding modifiers.
The modifiers available used to be listed on this page (so if you select the history tab for this page, you will find references to their introduction and growth). There are some advantages in moving them to the new web tag parameters page:
- This page is very long, even without the parameters
- There would be a lot of repetition if you attempted to say beside each tag name which modification parameters were available.
- Having them on separate pages means you can have two tabs (or two separate browsers) open so you can see both the tag name and the modifier parameter by flicking between tabs,instead of lots of scrolling.
- MX has introduced many more input and output modification parameters, it is easier to maintain a separate page (and easier for reference if you just want to refresh your mind on new modification parameters).
For just a taste, there you can discover:
- A score of [[Webtags/Parameters#Input_modification_Parameters|input modification parameters
- For example, find which attribute is used with a value between 1 and 12, so the same tag name can give values for 12 different months)
- If your locale normally (in real numbers) uses an integer part, then a comma, and then the decimal part, you should be aware that some computer scripts, and some external servers where you might want to send data, insist on a decimal point, instead of a decimal comma:
- If you have installed a recent MX release, then change decimal comma to decimal point with a simple "y" value to another attribute
- If you have the legacy Cumulus 1 installed, stay on this page and look at #No_Commas, as you have to use the restricted alternative set of tag names.
- How to control number of decimal places in any real number output
- All about the complex subject of modifying the way a duration, a date, or a clock time is output by looking here
Why does MX talk about tokens?
MX uses a token parser to read the web tags and replace them with the correct value, so if diagnostic output refers to tokens, it is saying the attempt to actually work out what content to return to replace the web tag with its tag name and parameters has encountered a problem.
Scary statistics
- The 3.5.0 release of MX defines 9½ million values that can be represented using web tags!
- At 3.5.0, there are only 717 options for the tag_name in the general format given above.
- How come this discrepancy?
- That discrepancy is purely because some of those 717 tag names can be associated with input parameters, (and for Oregon Scientific stations,you can select which sensor is used for outside temperature), these modifications affect what value is selected to be output by the web tag leading to the large number
- These millions of web tags can actually produce billions of different outputs!
- How come this second discrepancy?
- Well adding all possible different output parameters generates the billions of different ways to output the millions of values!
The statistics quoted above keep increasing as MX is developed, the last time I checked, there were another forty or so tag names, and lots more parameters, so the alternatives are probably well over ten billion now.
Brief history of this page
This page was created in August 2009, to list the tags for the (legacy) Cumulus 1 software. Initially, there were going to be further pages to explain individual web tags, e.g. Forecast_webtag; but that idea was never completed.
When MX came out of beta (3.0.0), it has been developing rapidly, as the statistics above suggest, the number of web tag names and input/output modification parameters, to document became too much for one Wiki page, hence the moving of all documentation about modification parameters to a sub-page. There are still a lot of web tag names to document on this page, and separation into a number of pages was considered, but it is easier to have just one page to refer in answers to questions raised in the forum.
Still got questions?
Full support is available via the support forum at https://cumulus.hosiene.co.uk/viewforum.php?f=40 for the latest MX release. Given that some users may still be running an older MX release, where possible any web tag listed below for MX indicates at which release it first became available.
There is limited support available for Cumulus 1.9.4, but on this page every attempt is made to indicate which version of the legacy software introduced any web tag listed below.
The web tag application programming interface
Available from version 3.7.0 (build 3089) released 28 July 2020. It was proposed in January 2015, see Steve Loft plan to add a call where you supply a list of items (probably web tag names), and you get back the equivalent data.
Where to use
This is meant for services either on the same computer as Cumulus or on your local network. It is not secure, and should not be available, nor requested, via any external network or the internet.
The MX Administrative Interface uses some application programming interface (api) calls to obtain the data each web page in that interface needs, and if you are making an edit, another api to return the results of any edit made.
If you wanted your CumulusMX/interface/todayyest.html web page to include something else (e.g. snow falling/lying/depth) you could edit that HTML page to have the extra sub-table you want (you cannot edit the existing rainfall table as that is dynamically created by existing api). Then you could edit the associated JavaScript file CumulusMX/interface/js/todayyest.js to add a new api call seeking snowdepth, snowfalling, snowlying tags for today (unfortunately there are no tags for yesterday's snow) and to place the returned values into your new sub-table (probably using jQuery to make it easy). In a similar way, you could add anything where today and yesterday tags are available such as UV Index.
In earlier versions of Cumulus if you wanted to make use of values processed by Cumulus, you wrote a script file referencing the web tags you wanted to use, and let Cumulus process that file at an interval set in the settings, then you had to write something to process the results at the relevant interval. Now if you are running other software on your device that runs MX (or a computer or other device linked directly on your personal network), you can request web tags values on demand via an application programming interface (api hereafter) and don't need to worry about any timing issues.
Obviously each api request creates a processing overhead on Cumulus so use this feature wisely (minimise the information you request and minimise the frequency of requesting it). You can use it for extra current information, but in that usage you might need to repeat the call. Consequently, maybe it is more likely that the api will be used to request information that does not keep changing, such as what units are being used for temperature, rainfall, and wind speed; or perhaps daily, monthly, or yearly, summary figures.
Each admin interface web page uses api techniques for all the information it needs. Some api calls are repeated with AJAX requesting updates for the weather information on a frequent basis, but each page has another api request that is issued just once for the version and build being used. To my mind, the design of CumulusMX/interface/todayyest.html is crazy. The HTML appears to have a table structure, but that table structure is overwritten by each repeating api. So every time AJAX repeats that api call it returns in json format the whole table definition as well as table cell contents, despite that much of that json (all that HTML defining table header, table rows, table cells, etc.; and the units for each value) does not change and it is only some values and times buried within the json in the api that actually might change (and of those half of them, the yesterday values and times only change once a day). In some code I wrote (but later abandoned) I made use of the api calls that support the CumulusMX/interface/todayyest.html web page to get the units I wanted on another interface page, but I only called it once as it returned a lot of other information (as just mentioned) that I did not need. I later found a better way, as in example below, which gives me just what I need and no more.
"GET" approach
You may have used GET as an attribute when defining the action of a HTML form. Equally you might in a script language access the query-string part of a Universal Resource Locator to get parameters for what the script is to supply to the web page. Even if you don't understand the meaning of those technical terms, you probably have seen when using a browser (in the box where a URL is entered) that sometimes the URL seen there has a query-string. You will have seen a question mark (?) followed by one or [separated by ampersand (&)] more name=value parameters. Full List of Tag Names The GET approach to using the Cumulus general api works in this way indicating the start of a query-string with a question mark and using ampersands to separate names. The difference is that a tag name (or list of tag names) is used instead of a name=value parameter (or list of name=value parameters). However, when the Cumulus api returns the values they will be in attribute=value format. Therefore if (like example below) you are coding in JavaScript, what is returned is a JavaScript Object and you extract the values by specifying the Object name and the Attribute name. If that technical terminology confuses you, look at the example.
Selecting values using GET
Suppose you want to get the values for the following three web tags:
- <#RCtemp>
- <#RChum>
- <#RCdew>
Then the URL with query-string to use is http: //localhost:8998/api/tags/process.json?rc&temp&hum&dew
Obviously, if you have started MX with a port parameter like this:
sudo mono CumulusMX.exe -port 9999
then you change the 8998 port shown in the URL for the api to use the port you have selected e.g. http: //localhost:9999/api/tags/process.json?rc&temp&hum&dew
The first parameter is rc to indicate that the tags that follow are to use decimal points not decimal commas, which is how many script languages expect to see values.
Remember that in current version (and some earlier versions) of MX, the above three web tags are exactly same as:
- <#temp rc=y>
- <#hum rc=y>
- <#dew rc=y>
Since rc=y can be applied to several web tags that don't appear in Webtags#No_Commas table, this shows how the api can access values without commas for all those web tags that report in real numbers and allow that output modifier.
If you are using the api in a context where it does not matter if decimal commas or decimal points are in the api or for any tags that don't report in real numbers, simply omit the rc as first item, and just include tag names separated by ampersands.
JavaScript example
Some people might feel the admin interface could be improved on some of its pages by showing additional information. It is possible from MX 3.7.0 to obtain extra information.
I wanted to improve the log file editing pages, and that was partly by adding validation, and partly by changing the way the editing is done. For the standard log file editor I wanted to achieve even more, I added a script to calculate (and recalculate after any edit) the derived fields from the source fields. To make these calculations work for anyone, I needed to find out what units the Cumulus MX user is using. Before 3.7.0 release the snippet of script that obtained the units via various api calls was quite complex (I described above how the api returned lots of unwanted content), but with 3.7.0 my new api call was greatly simplified to what I show below. Please note my revised log file editing scripts did not make it into a public release, and it is only the units obtaining api that I am making available to public here.
Here is the code (with the api call written using jQuery):
/* Some new variables connected with new api call (MX 3.7.0) */ var tempLetter; // C or F var rainUnit; // mm or in var windUnit; // any units in style allowed by Cumulus /* The one extra api request included to obtain the units used for temperature, rainfall, and wind speed */ $.get('./api/tags/process.json?tempunitnodeg&rainunit&windunit', "limit=1", callUnits); function callUnits(unitsObject) { tempLetter = unitsObject.tempunitnodeg; rainUnit = unitsObject.rainunit; windUnit = unitsObject.windunit; console.log("new api", tempLetter, rainUnit,windUnit); }
A little bit of explanation might help:
- JavaScript variables generally need to be declared first, I have used 3 separate line each starting with var, but you can list several variables on one line using a comma to separate them
- In my script it is important to define these variables outside the function as I will explain later
- The jQuery get request takes the api URL as first parameter and the function to deal with the returned result as third parameter
- The middle parameter is irrelevant in this context as only one object instance is returned, but if the qet was returning multiple results, "limit=1" would only return the first result
- The function takes as its sole parameter an Object (a JavaScript Object is a collection of properties), this is what is returned by the api, an object can be given any variable name
- In JavaScript if a variable is defined outside the function, then given a value inside the function, that value can be accessed by later code outside the function (in my case by code within the other functions for calculating each derived value)
- We are only interested in 3 of the property_name = property_value items in the Object.
- The JavaScript refinement syntax (starts with a dot) can be used to find the value for any parameter we name. We assign the variable already defined to the object and its refinement (that specifies the attribute we want).
- The console.log command simply outputs all the items in the list within the brackets into the browser console that in many browsers is displayed by selecting F12 on the keyboard. I included this instead of the lengthy rest of my code that uses the units to do the various calculations correctly.
"POST" approach
The word "Post" in a computer environment means that the Hypertext Transfer Protocol (HTTP) used by the internet is being asked to transfer information enclosed in the body of the request message. Put slightly less technically in this approach you produce a text file with the details of what tags you want and send it to the api server. I suppose it is a bit like sending an email, its header (subject, author, date sent) is easy to view, but you need to open it to see what text is in the body.
You may have used POST as an attribute when defining the action of a HTML form. In that context the form is sent as the contents of a message to whatever web page is going to process the contents of that form.
The post approach has a few advantages over get:
- The parameters are not shown in any query-string, so are not obvious to the person looking over your shoulder, nor do they appear in a history list of sites that the browser has visited.
- If you fill out a form online, the post approach will be used as the content needs to be kept secure.
- The get approach may be seen when you are navigating through a web site, and a selection is being remembered.
- The POST approach can handle very long requests and return a lot of information.
- In contrast, a URL with query-string is restricted in total length (the restriction is dependent on a number of other factors, but might be at something like 1000 characters in total), so GET comes with a restriction on how many parameters can be specified.
See https://cumulus.hosiene.co.uk/viewtopic.php?p=145050#p145050 for post example
Full List of Tag Names
This document is 'Work In Progress' so content may not be complete.
Request for help from Wiki Readers
- Do you understand how MX works?
- Do you use hardware, or MX functionality, that is not yet documented? Can you begin that documenting?
- Can you contribute simple text for novice users, examples of what you have done, correction of typing or factual errors, or supply missing details?
- Will you make this page more useful by bringing content up-to-date as new releases change some information written for older releases?
- Does any page need a section for novices, so they don't need to read more technical information further down that page?
- Is there some information on this page, that should be on a separate page? Can you create the new page and move the less relevant information off this page, don't forget this page needs a link to the new page so people who expect to find it here know where it has moved to?
If you plan on contributing to the Wiki, then you will need an account.
- Please use the Request Account form to apply for an account. Note that the Wiki is currently undergoing restructuring and is largely locked for editing, but please apply for an account if you wish to contribute in the future.
- You will find help on how to contribute to this wiki at How to Edit.
- If you need to consult others, please use the Cumulus Wiki suggestions forum.
Please be aware that information on this page may be incorrect.
This list only contains the tag_names, don't forget tag_names are only part of the #General Format for Web Tags, for example in a template file you precede the tag name with <, you may need input parameters, you may need output parameters, and you end the full web tag with >.
it does not indicate what parameters they can take, nor does it include the brackets the tag name is surrounded by when you quote it in a template file for Cumulus to process.
Here follow tables that group the tag names by the basic purpose of the tags listed. There has been confusion in the past of tags appearing in more than one group, can contributors remove any remaining duplication, so future maintenance is easier.
There is a table of contents near the top of the page that you might find useful if you are interested in a particular tag group.
Current Conditions
We start with tags that relate to the latest values, as these are the ones that people most often choose to use. The current condition data is also available, for processes external to Cumulus, by using the inbuilt facility to generate a file with such data.
Cumulus software makes current values available for a standard range of sensors where the same web tags apply across a range of weather station models.
Both Cumulus 1 and MX offer current values from some extra temperature and relative humidity sensors (see Extra temperatures) from particular weather station models.
Recently, MX has been developed to support further extra sensors (see Extra Sensor Files page for full list of fields) and web tags have been added to support equivalent current values only.
Feels Like
Feels like temperature was first made available, just for current conditions at MX version 3.5.4. In version 3.6.0. it was extended to add max/min for each day, each month, each year, and all time. In version 3.6.11 it was added to recent history.
The figures quoted for this derivative vary between versions:
- The first formula was used from MX version 3.5.4 (25 Apr 2020) build 3075 until version 3.6.7 (4 June 2020) build 3083
- The second formula, which was coded incorrectly, and so gave strange results, applied in versions 3.6.8 to 3.6.9 (build 3084, 3085)
- The third, and hopefully final, formula applies from version 3.6.10 (build 3086).
A php script for adding feels like as calculated in version 3.6.10 to any standard log line created either without feels like, or with an older (now incorrect) calculation, can be downloaded from Create Missing topic on support forum. Obviously, this calculates from the small sub-set of current conditions that have been logged, and is not as accurate at deriving maximum and minimum as derivation made as each reading is processed by MX (so including all current conditions).
The Create Missing utility will not correct the older (incorrectly calculated) figures, but will add Feels Like temperature values to any standard log line created by Cumulus 1, by MX prior to release 3.5.4, or if you have imported lines into the log from an external source.
Standard sensors
The web tags shown here are mainly determined by which appeared on the original "Now" legacy web page (index.htm).
Consequently, the totals for Rainfall this month, and this year, are included here for consistency with supplied web templates (indexT.htm, thismonthT.htm, and thisyearT.htm) and with the dashboard 'Now' part of the Cumulus MX user; although you might expect to find them listed in tables for this month and this year, those web pages do not show these derivatives.
Those listed here cover both measurements obtained from a weather station (like air temperature, wind speed and direction, humidity and barometric pressure); and all the derived values (like humidex, feels like, apparent temperature, wind chill, and heat index).
Note however, that the derived values calculated for Cumulus 1 and for MX may not agree because of differences in the calculation formulae, see derived value section within Recent History tags section for examples.
Web tag_name | Function |
---|---|
Temperature | |
<#temp> | The outside (air) temperature
For Oregon Scientific models like WMR-200 with USB connection or models like WMR-928 with serial connections, please refer to #Web tags mentioning (outside) temperature because any of the extra sensors can be reported in <#temp>, and consequently also have web tags reporting daily extremes and longer period extreme records. |
<#intemp> | The inside temperature |
<#temptrend> | The average rate of change in temperature over the last three hours. Trend = (temp_now - temp_3hrs_ago) / 3 |
<#temptrendtext> | Temperature change over the last three hours - Rising/Falling/Steady (values can be set in strings.ini) |
<#temptrendenglish> | Temperature change over the last three hours - Rising/Falling/Steady (for use by HTML, javascript etc, values can't be changed) |
<#TempChangeLastHour> | The change in temperature over the last hour |
<#heatindex> | Current heat index. The referenced page in weather terminology section of this Wiki explains it. |
<#humidex> | Current Humidex |
<#apptemp> | The apparent temperature. The referenced page in weather terminology section of this Wiki explains it. The formula used is that defined by BOM. Although at temperatures above 20°C (68°F) Feels like reports an "apparent temperature" it uses a different formula. |
<#wchill> | The current wind chill temperature. The referenced page in weather terminology section of this Wiki explains it. For temperatures below 10°C (50°F) Feels like reports the same value. |
<#feelslike> | Not available in Cumulus 1.
Not available in all MX versions. Please see sub-section before this table regarding availability by MX versions if you are using a MX version earlier than 3.6.10. The current Feels Like temperature. The referenced page in weather terminology section of this Wiki explains it. |
<#IsFreezing> | If outside temperature is at or below 0°C/32°F. 0=Above freezing, 1=Below freezing |
<#chillhours> | The number of 'chill hours' so far this season (threshold temperature and start date are configurable). |
Humidity | |
<#hum> | The outside humidity |
<#inhum> | The inside humidity |
<#dew> | The current dew point |
<#wetbulb> | Estimated wet bulb temperature, can be seen if hover over 'Dewpoint' on Cumulus 1 main screen |
Rainfall | |
<#rfall> | The total rainfall so far today |
<#rrate> | The current rainfall rate |
<#rhour> | The rainfall in the last hour |
<#rmidnight> | The total rainfall since midnight. Useful if you don't use midnight as your start of day |
<#r24hour> | Amount of rain in the last 24 hours |
<#LastRainTipISO> | Fixed ISO format output giving date and time of last rain gauge tip (e.g 2010-09-06 06:09) The format is always as shown (cannot use output format modifiers) |
<#LastRainTip> | (available from release 3.6.1) Date/time of last rain gauge tip (default format is as set in locale) PLEASE NOTE: this web tag WILL accept any date and time output format modifiers |
<#MinutesSinceLastRainTip> | The number of minutes since the last rain gauge tip, in whole numbers, rounded down |
<#IsRaining> | For Hydreon RG-11 devices, shows the current rain state. 0=No rain, 1=It's raining |
<#rmonth> | The total rainfall so far this month |
<#ryear> | Annual rainfall total for rainfall season year (i.e. starting month as set on Configuration menu, station screen, Annual rainfall frame) |
<#ConsecutiveRainDays> | The number of days up to (but not including) today where it has rained every day. The threshold amount of rain required to determine a rain day is configurable via the RainDayThreshold setting in cumulus.ini, the units for the threshold are the same as your rain units, meteorologists exclude dew (and other times when single tip of recorder). |
<#ConsecutiveDryDays> | The number of days up to (but not including) today since it last rained. The threshold amount of rain required to determine a rain day is configurable via the RainDayThreshold setting in cumulus.ini the units for the threshold are the same as your rain units |
Pressure | |
<#press> | The sea level pressure |
<#presstrendval> | The average rate of pressure change over the last three hours. |
<#presstrend> | The pressure trend in words - values can be set in the 'strings.ini' file |
<#presstrendenglish> | a singe word description for the pressure trend - Rising/Falling/Steady (for use by HTML, javascript etc, values can't be changed) |
<#PressChangeLast3Hours> | Available from version 3.11.1
Total Pressure Change since 3 hours ago |
<#altimeterpressure> | Altimeter pressure. Pressure corrected to sea level using the station's altitude only. Same as sea-level pressure for non-Davis stations. |
Wind | |
<#wlatest> | Current wind speed reading from console. Corresponds to 'latest' on the Cumulus main screen. |
<#bearing> | Current wind bearing in degrees |
<#currentwdir> | Current wind bearing as a compass point - e.g. ESE |
<#wspeed> | The 10-minute average, if you have Cumulus set to calculate a 10-minute average. Otherwise, it's the latest 'wind' value from the console (i.e. the current speed as determined by the station). Corresponds to 'average' on the Cumulus main screen. |
<#avgbearing> | Average wind bearing in degrees over last configured interval minutes. Range 1-360, 0=Calm
This is calculated by taking the wind direction and speed for the last 10 minutes (or other interval as configured), calculates the sums of the North/South and East/West vector components, divides the E/W component sum by the N/S component sum, and takes the arctan. |
<#wdir> | Average wind bearing over last 10 minutes as a compass point - e.g. ESE |
<#wgust> | The highest wind reading in the last 10 minutes. Corresponds to 'gust' on the Cumulus main screen. |
<#wdirdata> | Comma separated list of recent wind bearing readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex. Reading interval x varies by station type. |
<#wspddata> | Comma separated list of recent individual (non-averaged) wind speed (correspond to 'latest' on the Cumulus main screen) readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex tag. Reading interval x varies by station type. |
<#nextwindindex> | The index of the entries in wdirdata and wspddata which Cumulus is going to use next - i.e. the latest entry used is one less than this; but don't forget to allow for the wrap around! |
<#beaufort> | The current wind speed on the Beaufort scale (e.g. F8) |
<#beaufortnumber> | The current wind speed on the Beaufort scale, without a leading "F", e.g. "6" |
<#beaudesc> | The current wind speed Beaufort description (e.g. "Gale") |
<#BearingRangeFrom> | The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini) |
<#BearingRangeTo> | The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini) |
<#BearingRangeFrom10> | The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees |
<#BearingRangeTo10> | The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees |
<#WindRoseData> | A comma-separated list of the wind 'totals' used to draw the wind rose (8 or 16 values) |
<#WindRosePoints> | The number of items in <#WindRoseData> (i.e. 8 or 16) |
<#WindSampleCount> | The number of wind samples making up the wind rose (etc) data (up to 3600) |
Miscellaneous | |
<#cloudbase> | Calculated cloud base |
<#cloudbasevalue> | Current calculated cloud base without units |
<#UV> | Current UV index. Requires your station to have a UV sensor. |
<#SolarRad> | Current solar radiation. Requires your station to have a solar sensor. |
<#Light> | Current Current light level in Lux. Requires your station to have a solar sensor. Only applies to Fine Offset stations. |
<#forecast> | The current forecast |
<#forecastenc> | The same as <#forecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities |
<#forecastJsEnc> | Available from version 3.11.0
The current forecast encoded for JavaScript |
<#forecastnumber> | The number relating to the current forecast entry in the strings.ini file. If your station is not providing it's own forecast and Cumulus is not calculating one then 0 (zero) is returned. Note: two negative numbers can be returned by Cumulus: -1 (neg 1) = Exceptional Fine, -26 (neg 26) = Exceptional Bad |
<#cumulusforecast> | Always gives Cumulus (Zambretti) forecast, even if the <#forecast> tag provides a station forecast |
<#cumulusforecastenc> | The same as <#cumulusforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities |
<#cumulusforecastJsEnc> | Available from version 3.11.0
The current Cumulus (Zambretti) forecast encoded for JavaScript |
<#wsforecast> | Always gives station forecast (if available) |
<#wsforecastenc> | The same as <#wsforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities |
<#wsforecastJsEnc> | Available from version 3.11.0
The current station forecast encoded for JavaScript |
<#currcond> | Represents the value entered on the screen within Cumulus for the Current Weather condition, or the value as held in the currentconditions.txt file. Any reserved HTML characters are encoded as HTML entities |
<#currcondenc> | The same as <#currcond> but also has all characters above (decimal base) code 159 encoded as HTML entities for example this would encode any use of symbol for degree. |
Extra Sensors
Some tags are only available for certain builds, if the tables below do not say which releases they apply to, see general tip at top of page to check for the build you are using. In particular Cumulus 1 has fewer channels available in its earlier versions, and the final legacy software version 1.9.4 offers just 42 of the 62 extra sensor web tags available in MX.
The extra sensors functionality in Cumulus only supports processing for current spot values as read from the sensors, the only processing is to convert the units ready for output, so only current conditions can be reported in web tags.
Periodically spot extra sensor values are logged, see the Extra_Sensor_Files page for information about log files from where you can extract the past spot values.
Extra Sensors: Davis models and Oregon Scientific WMR928, WR100/200
These web tags hold current values for additional sensors supported by Cumulus 1 and MX.
For Oregon Scientific model like WMR-200 with USB connection, please refer to #Web tags mentioning (outside) temperature because any of the extra temperature tags below can be redirected to <#temp>, and consequently also have web tags reporting daily extremes and longer period extreme records.
Web tag_name | The related description can be changed in 'strings.ini', but below are default descriptions that will be shown in viewer/editor |
---|---|
<#ExtraTemp1> | Extra temperature channel 1 |
<#ExtraTemp2> | Extra temperature channel 2 |
<#ExtraTemp3> | Extra temperature channel 3 |
... and so on up to <#ExtraTemp10> = Extra temperature channel 10 | |
<#ExtraDP1> | Extra dew point channel 1 |
<#ExtraDP2> | Extra dew point channel 2 |
<#ExtraDP3> | Extra dew point channel 3 |
... and so on up to <#ExtraDP10> | |
<#ExtraHum1> | Extra humidity channel 1 |
<#ExtraHum2> | Extra humidity channel 2 |
<#ExtraHum3> | Extra humidity channel 3 |
... and so on up to <#ExtraHum10> | |
<#SoilTemp1> | Soil temperature 1 |
<#SoilTemp2> | Soil temperature 2 |
... and so on up to <#SoilTemp16> | |
<#SoilMoisture1> | Soil moisture 1 |
<#SoilMoisture2> | Soil moisture 2 |
... and so on up to <#SoilMoisture16> | |
<#LeafTemp1> | Leaf temperature 1 |
<#LeafTemp2> | Leaf temperature 2 |
<#LeafWetness1> | Leaf wetness 1 |
<#LeafWetness2> | Leaf wetness 2 |
Extra Sensors: Davis AirLink
New from version 3.9.0. Not available for earlier MX, not available for Cumulus 1.
Note, that you can configure an Indoor or Outdoor (or both) AirLink, most people will use an outdoor. There are a similar set of tags for each device.
Web tag_name | Function |
---|---|
Particulate Matter | |
<#AirLinkPm1[InǀOut]> | Current particulate matter of 1 μm, or less count |
<#AirLinkPm2p5[InǀOut]> | Currentparticulate matter of 2.5 μm, or less, count |
<#AirLinkPm2p5_1hr[InǀOut]> | Last hour average particulate matter of 2.5 μm, or less, count |
<#AirLinkPm2p5_3hr[InǀOut]> | Last 3 hours average particulate matter of 2.5 μm, or less, count |
<#AirLinkPm2p5_24hr[InǀOut]> | Last 24 hours average particulate matter of 2.5 μm, or less, count |
<#AirLinkPm2p5_Nowcast[InǀOut]> | The 24 hour "nowcast" weighted average particulate matter of 2.5 μm, or less, count |
<#AirLinkPm10[InǀOut]> | Current particulate matter of 10 μm, or less, count |
<#AirLinkPm10_1hr[InǀOut]> | Last hour average particulate matter of 10 μm, or less, count |
<#AirLinkPm10_3hr[InǀOut]> | Last 3 hours average particulate matter of 10 μm, or less, count |
<#AirLinkPm10_24hr[InǀOut]> | Last 24 hours average particulate matter of 10 μm, or less, count |
<#AirLinkPm10_Nowcast[InǀOut]> | The 24 hour "nowcast" weighted average particulate matter of 10 μm, or less, count |
Air Quality Index Values | |
<#AirLinkAqiPm2p5[InǀOut]> | Current particulate matter of 2.5 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm2p5_1hr[InǀOut]> | Last hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm2p5_3hr[InǀOut]> | Last 3 hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm2p5_24hr[InǀOut]> | Last 24 hour average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm2p5_Nowcast[InǀOut]> | Last 24 hour "nowcast" weighted average particulate matter of 2.5 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm210[InǀOut]> | Current particulate matter of 10 μm, or less value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm10_1hr[InǀOut]> | Last hour average particulate matter of 10 μm, or less, AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm10_3hr[InǀOut]> | Last 3 hour average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm10_24hr[InǀOut]> | Last 24 hour average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
<#AirLinkAqiPm10_Nowcast[InǀOut]> | Last 24 hour "nowcast" weighted average particulate matter of 10 μm, or less AQI value - allows use of the "dp=n" and "tc=y" parameters |
Stats Values | |
<#AirLinkPct_1hr[InǀOut]> | Percentage of possible values that were included in the 1 hour averages |
<#AirLinkPct_3hr[InǀOut]> | Percentage of possible values that were included in the 3 hour averages |
<#AirLinkPct_24hr[InǀOut]> | Percentage of possible values that were included in the 24 hour averages |
<#AirLinkPct_1hr[InǀOut]> | Percentage of possible values that were included in the 24 hour weighted averages |
Sensor Info | |
<#AirLinkFirmwareVersion[InǀOut]> | Shows the AirLink firmware version as a date string.
NOTE: This web tag requires a WeatherLink Pro subscription to work |
<#AirLinkTemp[InǀOut]> | The sensors internal temperatue value |
<#AirLinkHum[InǀOut]> | The sensors internal humidity value |
<#AirLinkWifiRssi[InǀOut]> | The sensors WiFi signal strength in dB - anything below -90 is considered very poor.
NOTE: This web tag requires a WeatherLink Pro subscription to work |
Extra Sensors: Ecowitt
Ecowitt stations are sold under other names depending on nation, e.g. Ambient in USA, Froggit in central Europe, so Ecowitt is used as a generic name in same way as Fine Offset is used as a generic name for stations sold under a variety of branding, in this Wiki.
Extra Sensors: Ecowitt WH45 CO₂ sensor
Unless otherwise indicated these web tags become available from release 3.9.5.
THE INFORMATION HERE IS TAKEN FROM RELEASE ANNOUNCEMENTS THAT DO NOT EXPLAIN WHAT THESE WEB TAGS REPORT
PLEASE WOULD SOMEBODY WHO UNDERSTANDS THIS TERMINOLOGY UPDATE THE FOLLOWING TABLE
Web tag_name | Function |
---|---|
<#CO2-pm2p5> | Air Quality expressed in terms of particulate matter of 2.5 micrometres or less |
<#CO2-pm2p5-24h> | Air Quality expressed in terms of particulate matter of 2.5 μm, or less, Last 24 hours average
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS |
<#CO2-pm10> | Air Quality expressed in terms of particulate matter of 10 μm, or less |
<#CO2-pm10-24h> | Air Quality expressed in terms of particulate matter of 10 μm, or less, Last 24 hours average
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS |
<#CO2-temp> | Temperature as reported by Air Quality monitor |
<#CO2-hum> | Relative Humidity as reported by Air Quality monitor |
Extra Sensors: Ecowitt WH34 soil and water sensor
Cumulus MX can support the Ecowitt WH34 (other model types exist and are reported here as if WH34) soil and water temperature sensors.
They are reported as "User Temperture 1" to "User Temperature 8", as listed in the table within next sub-section.
Extra Sensors: Ecowitt Air quality, leak sensors, lighting detector, and extra temperature sensors
Please see release announcements for when individual web tags became available
This sub-section applies only to those using Ecowitt GW1000 (also Froggit DS1500, and other equivalents, see Supported Devices) an interface unit that picks up various external sensors and sends the data via an application programming interface to MX which then generates the following web tags:
Web tag_name | Function |
---|---|
<#GW1000FirmwareVersion> | GW1000 firmware version string |
Web tag_name | The related description can be changed in 'strings.ini', but below are default descriptions that will be shown in the viewer/editor |
---|---|
<#AirQuality1> | Air quality 1 |
... and so on up to <#AirQuality4> | |
<#LeakSensor1> | Leak sensor - 0 or 1 |
... and so on up to <#LeakSensor4> | |
<#LightningDistance> | Distance to last strike (same units as wind run - miles/km/nm) (Returns 0.0 if you don't have a sensor, GW1000 api returns max value you can put in a byte - 0xFF which translates to 158.4 miles = 255 km if have sensor but no strike detected yet, so MX translates that to '----') |
<#LightningTime> | Date and Time of last strike (default without output parameters is locale's short time format e.g. 18:02 or 6:02 pm, without date, but tag accepts both date and time output parameters). Returns '----' if you don't have sensor or there has not been a strike since the sensor was installed. (GW1000 api returns FFFF FFFF seconds after midnight on 01 Jan 1970, which translates to 07/02/2106 06:28:15, so MX translates that to '----') |
<#LightningStrikesToday> | Number of strikes since midnight, default 0 |
<#UserTemp1> | User Temperature 1 |
... and so on up to <#UserTemp8> = User temperature 8 |
Recent History
There are a set of web tags for 'recent historical data', based on an array stored by Cumulus giving data values from 1 minute ago, up to 1 week ago, in 1 minute intervals. As Cumulus runs it will add the latest values to the array with full resolution, and shift existing values along so those older than 7 days fall off.
- The input modification parameters available are listed at Webtags/Parameters#Input Modification Parameters for Recent History.
- To save you looking up the details, these input parameters specify how many minutes ago is required. Instead of entering a very large number for minutes, you can include separate input parameters for days, hours, and minutes, ago.
- Examples appear in the table below, with explanations
Following the table giving the tag names actually available, there is a section on how to derive a few more weather derivatives using a combination of the tag names shown.
Warning when Daylight Saving Time starts or ends
Note that Cumulus uses current time, read from the computer, to determine which array element it stores each value in.
Hence when clocks go back the value stored for winter time overwrites the value previously stored for same time during summer time for the relevant repeating hour.
Hence even if you use 10am for your rollover time in summer, you will not have access to a whole hour worth of data when the clocks change
- when the clocks go back, one hour has been overwritten; or
- when the clocks go forward, one hour in the array simply does not exist.
Table of Recent History web tags available
#No_Commas versions of the array are available for use in script. If you use MX, the tag names in this table can take a rc=y parameter.
Other weather derivatives
Although Humidex, 'Apparent Temperature', 'Feels Like temperature' and others listed in Current Conditions section, are not available at all versions, they can be calculated in a script from recent 'outside temperature', 'wind speed', and 'relative humidity' values (using the same time selection for all). There are other derivatives that can be calculated similarly from a set of simultaneous values. Note that Cumulus 1 and MX do not always use identical formula, and although MX added Feels Like it has changed the formula a few times.
The relevant formulae using JavaScript, adjust for other languages, for some of these are shown below:
Canadian Humidity Index
If you are in USA and use Fahrenheit instead of Celsius, you will need to omit the 5/9 term, but as the index is dimensionless no other conversion is needed. This example is for 3 hours ago, change the input parameters to suit your need.
Cumulus 1:
H = <#RecentOutsideTemp h=3> + 5/9 * (6.1094 * Math.exp(5417.753 *(1/273.16 - 1/ (273.16 + <#RecentDewPoint h=3> )))-10);
Cumulus MX:
svp = 6.112 * Math.exp((17.62 * <#RecentOutsideTemp h=3) / (243.12 + parseFloat(<#RecentOutsideTemp h=3))); H = (5/9 * (<#RecentHumidity h=3> /100 * svp - 10)) + <#RecentOutsideTemp h=3;
Apparent Temperature and Feels Like
Note this apparent temperature formula uses Celsius for temperature and metres per second for wind speed. You will need to do the appropriate conversions from the quoted recent history tags if you use different units. The Australian Apparent temperature formula is same for Cumulus 1 and MX:
var actualVaporPress = <#RecentHumidity h=3>/100) * 6.105 * Math.exp(17.27 * <#RecentOutsideTemp h=3>) / (237.7 + parseFloat(<#RecentOutsideTemp h=3>)))); var appTempDegC = parseFloat(<#RecentOutsideTemp h=3) + (0.33 * actualVaporPress) - (0.7 * <#RecentWindSpeed h=3>) - 4;
Feels Like was implemented as a recent history web tag at version 3.6.11 (see Feels Like section below Current condition web tags) for the gradual introduction of feels like elsewhere. For earlier MX versions, and if you are using Cumulus 1, you can calculate it:
The formulas below use Celsius for temperature and km per hour for wind speed. Again, you will need to do the appropriate conversions from the quoted recent history tags if you use different units.
Calculation from recent history tags is much more complicated because there are 3 different calculations: Feels Like reports exactly same as wind chill for temperatures below 10°C or 50°F so the WC here should equal <#RecentWindChill h=3>:
if(<#RecentWindSpeed h=3> < 4.828) WC = <#RecentOutsideTemp h=3>; else{ wind_pow = Math.pow(<#RecentWindSpeed h=3>, 0.16); WC = (13.12 + 0.1625 * <#RecentOutsideTemp h=3>) - (11.37 * wind_pow) + (0.3965 * <#RecentOutsideTemp h=3> * wind_pow);// Brackets used to ensure "+" is interpreted as addition not concatenation }
For temperatures above 20°C or 68°F Feels Like uses a different way to calculate apparent temperature that it uses at these higher temperatures (this formula only used for 3.6.10 onwards):
var actualVaporPress = <#RecentHumidity h=3>/100) * 6.112* Math.exp((17.62 * <#RecentOutsideTemp h=3>)/(243.12 + <#RecentOutsideTemp h=3>)) / 10.0; // Not same as at build 3084 /* uses kilometres per hour for wind speed */ /* What Cumulus MX will use to calculate apparent temperature for feels like is changed very slightly */ if(<#RecentWindSpeed h=3> > 72) <#RecentWindSpeed h=3> =72; AT= (1.04 * <#RecentOutsideTemp h=3>) + (2 * actualVaporPress) - (0.1805553 * <#RecentWindSpeed h=3>) - 2.7;
For in-between temperatures it uses a more complicated merge of the two formulas for AT and WC as defined above:
app_temp_mult = (<#RecentOutsideTemp h=3> - 10) / 10; wind_chill_mult = 1 - app_temp_mult; FL= AT * app_temp_mult + WC * wind_chill_mult;
System
Special tags returning information about the Windows device hosting Cumulus 1.
If you are running MX, then most tags do not work.
Web tag_name | Applicability | Function |
---|---|---|
<#OsVersion> | up to 1.9.4, and MX | OS version, e.g. "Windows 7 x64 build 7600"
Please note this may not return the information you expect! |
<#OsLanguage> | Both leagacy and MX | OS language, e.g. "English" |
<#SystemUpTime> | (not available on MX) | How long the system has been up, e.g. "8 hours 21 minutes" |
<#ProgramUpTime> | all releases | How long Cumulus has been running, e.g. "7 hours 55 minutes" |
<#CpuName> | (not available on MX) | CPU type, e.g. "Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz" |
<#CpuCount> | (not available on MX) | Number of processors, e.g. "4" |
<#MemoryStatus> | (not available on MX) | Free and total system RAM, e.g. "4619/8191 MB (free/total)" |
<#DisplayMode> | (not available on MX) | Screen display mode, e.g. "1680x1050, 32 bit" |
<#AllocatedMemory> | (not available on MX) | Amount of memory allocated to Cumulus, e.g. "18.76 MB" |
<#DiskSize> | (not available on MX) | Size of disk on which Cumulus is running, e.g. "931.51 GB" |
<#DiskFree> | (not available on MX) | Free space on disk on which Cumulus is running, e.g. "515.36 GB" |
Miscellaneous
All tags are available in all flavours, as far as I know, although their output might vary, and which input/output parameters they permit might vary between Cumulus 1 and MX.
Web tag_name | Function |
---|---|
<#LatestError> | Displays the last error from the Cumulus 1 error log. (The value is cleared when you click the error light in Cumulus 1). Note: This tag displays all errors, even if they do not cause the error light to flash in Cumulus 1. Although this tag and the next 3 are in MX, none of them are actually used (as at April 2020). |
<#LatestErrorDate> | The date of the latest error logged to the error log window, using the system short date format. Gives dashes when latest error is reset |
<#LatestErrorTime> | The time of the latest error logged to the error log window, using the system short time format. Gives dashes when latest error is reset |
<#ErrorLight> | 1 if the 'error' light is flashing, 0 if not |
<#version> | The version of Cumulus in use e.g. '1.9.4' or '3.4.1' |
<#build> | The build of Cumulus in use e.g. '10992' for latest Cumulus 1 patch
(Cumulus MX is under development so new builds are released frequently) |
<#NewBuildAvailable> | Only available from release 3.7.0 onwards, it is checked on start-up and once a day thereafter at a random time
|
<#NewBuildNumber> | Only available from release 3.7.0 onwards, it is checked on start-up and once a day thereafter at a random time
Displays the latest public release build number - eg. b3089 |
<#realtimeinterval> | The real time update interval in seconds (integer) |
<#interval> | The web site update interval in minutes (integer) |
<#rollovertime> | The time that the logs rollover to the next day: will always return one of these: 'Midnight', '9 am' or '10 am'
This is the end of the meteorological day, so if during Daylight Saving Time rolover is at "10 am", then on the day DST ends it will return to "9 am" ensuring every meteorological day is exactly 24 hours long. If the time is "Midnight" (or during DST it is "9 am"), then days will be 23 or 25 hours long just on day clocks change, 24 hours otherwise. |
<#update> | The date and time of the last web site update. The default format of the output depends on your locale settings. |
<#LastDataReadT> | The date/time data was last read from the station. The default format of the output depends on your locale settings. |
<#stationtype> | The weather station model description (you choose what text appears for this on 'Display' settings screen within Configuration menu - the field is at the bottom left of that screen). |
<#latitude> | The station latitude (as you entered during setup).
Supports an optional 'dp' parameter, if supplied, instead of the usual web-encoded text format with degrees/minutes/seconds, the result is in decimal degrees to the specified number of decimal places. E.g If the "dp" parameter is supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point. |
<#latitudeJsEnc> | Available from version 3.11.0
JavaScript encoded of previous web tag that is HTML encoded |
<#longitude> | The station longitude (as you entered during setup). Supports an optional 'dp' and 'rc' parameters as per the latitude tag. |
<#longitudeJsEnc> | Available from version 3.11.0
JavaScript encoded of previous web tag that is HTML encoded |
<#altitude> | The station altitude value (web tag outputs web encoded format containing figure, ' ' and units) in either feet or metres just as you entered during setup (so it is more complex to extract number for script arithmetic); e.g. '123 m' |
<#altitudenoenc> | Available from version 3.11.0
JavaScript encoded of previous web tag that is HTML encoded |
<#location> | The station location (as you entered during setup) |
<#locationJsEnc> | Available from version 3.11.0
JavaScript encoded of previous web tag that is plain text |
<#locationenc> | Available from version 3.10.3
HTML encoded version of previous web tag that is JavaScript encoded |
<#longlocation> | Longer description of the station location (as you entered during setup) |
<#longlocationJsEnc> | Available from version 3.11.0
JavaScript encoded of previous web tag that is plain text |
<#longlocationenc> | Available from version 3.10.3
HTML encoded version of previous web tag that is JavaScript encoded |
<#forum> | URL of the forum (as you entered during setup) encoded into a web page menu item by adding colons
For Cumulus 1, this defaults to a Sandaysoft URL that is no longer available, for MX this defaults to the current support forum (web server site hosted by "Freddie") |
<#forumurl> | Available from version 3.10.0
Same as previous, but just URL, without any additional colons |
<#webcam> | URL of the webcam (as you entered during setup) encoded into a web page menu item by adding colons. Default is blank. Can be used to link to any other web page that you host (Cumulus does not verify that it is a web can, that is just a label, and the label can be changed on each standard web page individually) |
<#webcamurl> | Available from version 3.10.0
Same as previous, but just URL, without any additional colons |
<#graphperiod> | The number of hours displayed by the graphs, as set using Configuration menu, Display settings screen 'Detailed Chart Period' |
<#dailygraphperiod> | The number of days displayed by the graphs, as set using Configuration menu, Display settings screen 'Daily Chart Period' (available from build 1098) |
<#LatestNOAAMonthlyReport> | Gives file name of latest auto-saved NOAA monthly report |
<#LatestNOAAYearlyReport> | Gives file name of latest auto-saved NOAA yearly report |
Options | |
<#Option_useApparent> | Whether user prefers to see Apparent Temperature or Feels Like Temperature |
<#Option_showSolar> | Whether user wants to show Solar data or does not not have a solar sensor |
<#Option_showUV> | Whether user wants to show Ultra Violet data or does not not have a UV sensor |
Units
Apply to Cumulus 1 and MX, no optional input nor output parameters.
Web tag_name | Function |
---|---|
<#tempunit> | Unit of temperature being used (Set in Cumulus as Celsius or Fahrenheit) values "°C" or "°F" |
<#tempunitnoenc> | Available from version 3.11.0
JavaScript encoded of previous web tag that is HTML encoded (i.e. without & and without °) |
<#tempunitnodeg> | The temperature units being used, without a degree symbol, i.e. "F" or "C" |
<#pressunit> | Unit of measure for pressure. Possible values: "mb", "hPa", "in" |
<#rainunit> | Unit of measure for rain fall. Possible values: "mm" or "inches" |
<#windunit> | Unit of measure for wind speed. Possible values: "m/s", "mph", "km/h", "kts" |
<#windrununit> | Unit of measure for wind run (distance). Possible values: "km", "miles", "km", "nm" (for wind speeds in m/s, mph, km/h, kts) |
<#cloudbaseunit> | The units used for cloudbase value. Possible values: "ft" or "m" |
Date & Time
Both Cumulus 1 and MX support all of these, except where marked as MX only, most of these web tags can be used with output parameters.
Web tag_name | Function |
---|---|
<#date> | The current date - format depends on locale you use to run Cumulus |
<#metdate> | The current meteorological date. The default format depends on the locale you use to run Cumulus
Legacy website: Can be used with relevant format parameters to customise todayT.htm template page to display current meteorological day, to customise thismonthT.htm template page to display meteorological month, and to customise thisyearT.htm template page to display correct meteorological year. This will be particularly useful on first and last day of month/year when rollover happens at 9 (or 10) a.m. and the month (and maybe year) is different before and after rollover. Earlier MX releases provide a similar web template set, so these can be customised in same way as for legacy Cumulus above (but note capital "M" must be used for any month formatting). From release 3.10.1 the supplied web pages are web server based, there are no web templates to customise, and the supplied .json files do not include any meteorological date functionality. |
<#timeUTC> | The current UTC date/time rather than local date/time. Example result (actual format depends on locale settings): 18:30 on 30 December 2009. If you want the local date and time, use next tag (below). |
<#time> | The current time and date. Example result (actual format depends on locale settings): 18:30 on 30 December 2009. If you simply wish the time, use next tag (below). |
<#timehhmmss> | The current time (without date). Example format: 18:30:27. You can use output format specifiers to change the way the time is output, but any date specifiers are ignored. |
<#minute> | The current time, just the minutes. Fixed format: 07 (cannot use output format modifiers) |
<#hour> | The current time, just the hour. Fixed format: 07 (cannot use output format modifiers) |
<#day> | The current day as a 2-digit number. Fixed format: 07 (cannot use output format modifiers) |
<#dayname> | The current day as a word. For example, Monday (actual format depends on locale settings) |
<#shortdayname> | The current day as a shortened word. Example format: Mon |
<#month> | The current month as a 2-digit number. Fixed format: 07 (cannot use output format modifiers) |
<#monthname> | The current month as a word. Example format: July |
<#shortmonthname> | The current month as a shortened word. Example format: Jul |
<#year> | The current year as a 4-digit number. Example format: 2009 (cannot use output format modifiers) |
<#shortyear> | The current year as a 2-digit number. Example format: 09 (cannot use output format modifiers) |
<#rollovertime> | The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am'
PHP code example for testing whether before or after rollover given in next entry. |
<#metdateyesterday> | The previous meteorological date. The default format depends on the locale you use to run Cumulus
Can be used with relevant format parameters to indicate correct day on yesterdayT.htm template page, and can be used to return latest day stored on dayfile.txt and NOAA report for latest month. if you use PHP Hypertext preprocessor, you can output different text for before and after rollover, e.g. <?php if('<#yesterday format=dddd>' == '<#metdateyesterday format=dddd>') echo '(calendar date and meteorological date same)'; else echo 'rollover still to happen, these results will be treated as belonging to <#metdate format=dddd>';?> |
<#yesterday> | Yesterday's date. The default format depends on the locale you use to run Cumulus |
<#update> | The date and time of the last web site update. The default format depends on the locale you use to run Cumulus |
<#timeJavaScript> | Available from version 3.5.2, so not available in legacy software
The JavaScript Date object contains the number of miliseconds since 00:00:00.000 UTC on 1st January 1970, that date and time is known as the UNIX Epoch. In JavaScript, you can use Math.floor(new Date().getTime()/1000.0) This getTime method returns the time in milliseconds. The web tag returns an integer (currently with 13 digits) representing the number of milliseconds since the UNIX epoch when the web tag was processed. It can be used in a script where you wish to re-express other times output by Cumulus MX into UTC (Coordinated Universal Time). Mac OS X uses 00:00:00.000 UTC on 1st January 2001 as the starting time and date for its millisecond count, so that is considerably lower. Note that UTC is calculated using 9192631770 times a particular transition time for Caesium 133 as a basis for 1 second. GMT (Greenwich Mean Time) is calculated on the basis that 1 second is 1/86400 of the time taken for a whole (day) rotation of the Earth. UT1 (or solar time) is calculated from various space measurements. Periodically, leap seconds are added to UTC to realign it with UT1, but these leap seconds are not added to the count of milliseconds represented by this web tag. Do be aware that some devices will use a 32 bit signed integer to represent this number, and that will stop working on 19 January 2038, the year 2038 problem for computing world. |
<#timeUnix> | Available from version 3.7.0, so not available in legacy software
Unix tracks the number of seconds since the UNIX epoch. So this web tag can be used when you do not want the millisecond accuracy of the previous web tag. Like previous web tag this relates to UTC, so see details for that tag to find out more. This is equivalent in PHP 5 and PHP 7 to time(); (in PHP 8, a parameter is mandatory for time function, so the call changes). |
<#LastDataReadT> | The date/time data was last read from the station. Default format for this tag is like this example 18:30 on 30 December 2009, but output parameters for both date and time can modify this to include seconds in 1.9.x builds and most MX builds such as per this example '<#LastDataReadT format="yyyy-MM-dd HH:mm:ss">'. |
<#DaysSince30Dec1899> | Day count (gives whole and fractional part) Example: 41250.6523310301 |
<#recordsbegandate> | Date when records began (appears twice on "recordT.htm" provided in standard web page, and used to calculate next tag, but ignored for all other Cumulus processing). Any output parameters valid for a date can be used here, don't forget differences in modifiers for Cumulus 1 and MX. There is no time associated with this web tag. The default format is like 30 December 2009, please note although this web tag reports the value associated with [b]StartDate=dd/MM/yyyy[/b] (see Cumulus.ini#Section:_Station), the format there is short-date format and different to default format for this web tag. |
<#DaysSinceRecordsBegan> | Day count since Cumulus records started |
Today
Cumulus allows some control over the time that "Today" begins:
- For the weather diary feature (originally called "The Log" if you have a very old release or look at old posts on the support forum), Cumulus classifies what you enter by a date. The hour of the day, when that date is first applied, is set in the configuration by the SnowDepthHour (called that as the only tag name available in the legacy Cumulus was for Snow Depth.
- The default snow depth hour is 9 for the legacy Cumulus and 0 for MX.
- Readings from your weather station are assigned to the "Today" based on 3 options for Meteorological day
- starting at 9:00 am, based on winter time, so switching to 10:00 during Daylight Saving (summer) time, or
- starting at 9:00 am, all year round, or
- aligned with calendar days, so today starts at midnight
The practice for professional meteorologists varies between nations, some of the traditional practices listed below have been abandoned now most weather reading is by machines:
- Generally, Meteorologists report snowfall, and snow days, on a calendar day basis (i.e. midnight to midnight).
- Most frequently, the Lowest temperature for a day is that recorded prior to the start time for Highest temperature.
- This is because Meteorologists in the past took manual observations at one, or more, fixed times during each day (9 a.m. was the most common, and the closest lowest temperature was generally earlier that morning, while the closest highest temperature was generally the following afternoon)
- Sunshine hours were recorded from sunrise to sunset, so assigned to "Today" aligned with calendar day
- The way that total rainfall was reported varied:
- Some nations assigned used days that ended at 9 a.m. so rainfall was recorded against the end date
- Sometimes totals were recorded separately for 9 a.m to 3 p.m, with 3 p.m. to 9 a.m being assigned to next day (again these were manual observation times)
- In other cases, the total for 9 p.m to 9 a.m was recorded separately, and possibly assigned to the day after the total for 9 a.m. to 9 p.m.
Cumulus does not support most of these practices. The independence of the start time for weather diary and weather station related web tags means needs to be remembered when labelling web tags from the two tables below. Steve Loft assumed that you would use 9 a.m. as start time for both, but not care when snow fell, as it often has in the UK, after Summer Time has begun, so weather station tags were by default reporting from 10 a.m. local time and snow as at 9 a.m.
In MX, if you choose 9 a.m. (optionally 10 a.m. in summer) for rollover, so all the standard derivative are assigned to the date the meteorological day starts as Today, but the sunshine hours recorded against today will be from midnight on the said date.
Weather Diary
This first table lists all the web tags available for reporting what is recorded in the weather diary. Just to be clear, the web tags shown below, will report data for previous day if the current time is before the snow depth hour setting, and report data for the current day if the current time matches the snow depth hour or is later.
Web tag_name | Function |
---|---|
<#snowdepth> | Meteorologists report snow depth in cm, so this is default unit for Cumulus.
If there is no entry in Weather Diary for the day explained above, reports zero. Input is to 2 decimal places. Available from version 3.1.1 - build 3054 when weather diary editor was added to MX. MX allows output in centimetres with decimal places without any script. You can't change the units shown in admin interface, but your value can be input as inches to 2 decimal places if you ignore "cm" that is displayed in that interface. Input and output is always as integer. Available from very early builds, weather diary input amended from version 1.8.6 14th April 2009 to allow units to be specified on diary edit screen. If you choose to enter as whole millimetres, you can use JavaScript (or another script language) on your web page to divide the web tag by 10 and get centimetres to 1 decimal place on output. |
<#snowlying> | Available from version 3.1.1 - build 3054. If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked.
Although this tag is not available in Cumulus 1, your web page can use a script to check if <#snowdepth> is non zero, as that means snow is lying |
<#snowfalling> | Available from version 3.1.1 - build 3054. If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked.
Not available in Cumulus 1. There is no web page workaround, unless you write a script that reads Weather Diary and makes relevant information available on your web server. |
Today.ini
As explained earlier, these tags relate to latest Meteorological day, except for Sunshine Hours which relate to latest Calendar day.
Information for these tags is taken from today.ini, hence the sub-section title, although Sunshine Hours can be taken from either yesterday.ini or "today.ini" depending on (respectively) whether before or after rollover time if that is not midnight.
Many of these web tags were used on the supplied todayT.htm template in the legacy "/web" folder. If you are using MX, the today and yesterday page in the MX_Administrative_Interface shows similar information by using the local application programming interface.
For web tags that report values that refer to a particular time of day, there is a corresponding web tag that can give the time of day, shown in same row of table below. For those that cover whole day so far, the final column contains "n/a".
Please note none of the time web tags can be modified by output parameters to give a date, but they can be changed from the default time format that is 'H:mm' (24 hour clock notation without leading zero for hour) for Cumulus 1 and MX.
If you are using output modifiers to change how the time is reported, be careful to use ones that work for the flavour of Cumulus you are using ('H' and 'h' are same for Cumulus 1, but the two codes represent different formats for MX; MX insists on 'mm' being used for minutes, but the 'NN' and 'nn' used by Cumulus 1 could be replaced by 'mm' if they followed an hour specifier).
Web tag_name | Function | Time tag_name |
---|---|---|
Temperature & Humidity | ||
<#tempTH> | Today's highest temperature | <#TtempTH> |
<#tempTL> | Today's lowest temperature | <#TtempTL> |
<#avgtemp> | The average temperature so far today (calculated from all temperature readings processed by Cumulus, today.ini stores a cumulative aggregate and counts the number of values processed, so a division gives this output) | n/a |
<#temprange> | The temperature range (<#tempTH> - <#tempTL>) so far today (Cumulus calculates all these tags using Celsius values, but outputs them in your chosen units) | n/a |
<#apptempTH> | Today's high apparent temperature | <#TapptempTH> |
<#apptempTL> | Today's low apparent temperature | <#TapptempTL> |
<#feelslikeTH> | Available from version 3.6.10 (NOT AVAILABLE IN CUMULUS 1)
Today's high feels like temperature Please see sub-section below current conditions if you are using an earlier 3.6.x version of MX. |
<#TfeelslikeTH> |
<#feelslikeTL> | Available from version 3.6.10 (NOT AVAILABLE IN CUMULUS 1)
Today's low feels like temperature |
<#TfeelslikeTL> |
<#humidexTH> | Available from version 3.7.0 (NOT AVAILABLE IN CUMULUS 1)
Today's high Canadian Humidity Index Please see sub-section below current conditions if you are using Cumulus 1 or an earlier version of MX. |
<#ThumidexTH> |
<#heatindexTH> | Today's high heat index | <#TheatindexTH> |
<#wchillTL> | Today's greatest wind chill (i.e. lowest temperature, highest wind speed) | <#TwchillTL> |
<#dewpointTH> | Today's highest dew point | <#TdewpointTH> |
<#dewpointTL> | Today's lowest dew point | <#TdewpointTL> |
<#humTH> | Today's highest humidity | <#ThumTH> |
<#humTL> | Today's lowest humidity | <#ThumTL> |
Precipitation | ||
<#rrateTM> | Today's maximum rain rate | <#TrrateTM> |
<#hourlyrainTH> | Today's highest hourly rain | <#ThourlyrainTH> |
<#RG11RainToday> | If you have an RG-11 rain sensor configured in "Tipping Bucket" mode, this gives today's rain total so far according to the sensor | n/a |
Pressure | ||
<#pressTH> | Today's highest pressure reading | <#TpressTH> |
<#pressTL> | Today's lowest pressure reading | <#TpressTL> |
Wind | ||
<#windTM> | Today's maximum (average) wind speed | <#TwindTM> |
<#wgustTM> | Today's maximum wind gust | <#TwgustTM> |
<#bearingTM> | The wind bearing at the time of today's high gust (<#wgustTM>) in degrees | <#TwgustTM> |
<#Tbeaufort> | Today's highest wind speed, expressed in the Beaufort scale | <#TwindTM> |
<#Tbeaufortnumber> | Today's high wind speed on the Beaufort scale, without a leading "F", e.g. "6" | <#TwindTM> |
<#windrun> | The total wind run so far today | N/A |
<#windAvg> | (Available from release 3.12.0 onwards)
The wind run divided by time passed since rollover to express it as an average wind speed |
n/a |
<#domwindbearing> | Today's dominant wind direction in degrees | n/a |
<#domwinddir> | Today's dominant wind direction as compass point | n/a |
<#Tbeaudesc> | Beaufort 'description' for today's high wind speed | n/a |
Miscellaneous | ||
<#ET> | Today's evapotranspiration. Applies only to Davis stations, equipped with a solar sensor.
"The ET value provided to Cumulus by the console and/or DLL is buggy and unreliable. It often shows a negative value. See this FAQ." |
N/A |
<#heatdegdays> | Today's heating degree days | n/a |
<#cooldegdays> | Today's cooling degree days | n/a |
<#solarTH> | Today's high solar radiation value (Solar sensor needed) | <#TsolarTH> |
<#UVTH> | Today's high UV Index (UV sensor needed) | <#TUVTH> |
<#SunshineHours> | Today's hours of sunshine so far. Added in Cumulus 2, then to 1.9.1 build 957, also in MX. From version 3.7.0 takes a parameter "dp=n" so the number of decimal places required can be specified | n/a |
No Commas
Note that Cumulus does not use thousand separators, so the only places a comma can be used are as a field separator or as a decimal separator. Obviously it cannot be used for both. This section is for those locales where a comma is used instead of a full stop to separate the integer and decimal parts of a number. Some computer languages like JavaScript will not accept a comma being used for this purpose, and Cumulus uses JavaScript for various tasks, as do various third party web pages. From version 1.9.3 build 1045, Cumulus 1 (and MX) has provided some current conditions web tags, some today web tags, and some recent history web tags in an alternative format where (regardless of locale) the number is always output in a format that uses a decimal point. They all correspond to the same tag with 'RC' removed.
CURRENT CONDITIONS:
<#RCtemp>, <#RCdew>, <#RCheatindex>, <#RChum>, <#RCinhum>, <#RCintemp>, <#RCpress>, <#RCrfall>, <#RCrrate>, <#RCwchill>, <#RCwgust>, <#RCwspeed>, <#RCwlatest>
TODAY:
<#RCpressTH>, <#RCpressTL>, <#RCrrateTM>, <#RCtempTH>, <#RCtempTL>, <#RCwgustTM>, <#RCdewpointTH>, <#RCdewpointTL>, <#RCwchillTL>, <#RCheatindexTH>, <#RCapptempTH>, <#RCapptempTL>
RECENT HISTORY:
<#RCRecentOutsideTemp>, <#RCRecentWindSpeed>, <#RCRecentWindGust>, <#RCRecentWindLatest>, <#RCRecentWindChill>, <#RCRecentDewPoint>, <#RCRecentHeatIndex>, <#RCRecentPressure>, <#RCRecentRainToday>, <#RCRecentUV>
Although 'Apparent Temperature' is not included as a tag, it can be calculated in a script from the RC tags for 'outside temperature', 'wind speed', and 'relative humidity' values. In php language this is $RCapptempCALC = round(<#temp> + (0.33 * (<#hum> / 100 * 6.105 * exp (17.27 * <#temp> / (237.7 + <#temp>) ))) - (0.7 * $wspeed) - 4.0, 2);.
There are other derivatives that can be calculated similarly from a set of simultaneous values, as described below the recent history section.
From version 3.5.4 build 3075, most web tags (one notable exception is indoor temperature <#intemp> where rc parameter not available until version 3.6.8 build 3084), that produce decimal number output now support the "rc=y" option. e.g. <#tempYH rc=y> will report yesterday's highest temperature using a full stop to separate decimal part where the locale would normally use a comma.
Yesterday
Note that the Y indicating yesterday is sometimes a prefix, sometimes a suffix (with H for High, L for Low), web tags are not named consistently!
Many of these web tags are used on the supplied yesterdayT.htm template.
If you are using MX, the today and yesterday page in the MX_Administrative_Interface shows similar information by using the local application programming interface.
For web tags that refer to a particular time of day, there is a corresponding web tag that can give the time of day. Please note none of the time web tags can be modified by output parameters to give a date, but they can be changed from the default time format that is 'h:mm'.
Web tag_name | Function | Time |
---|---|---|
Temperature & Humidity | ||
<#tempYH> | Yesterday's highest temperature | <#TtempYH> |
<#tempYL> | Yesterday's lowest temperature | <#TtempYL> |
<#avgtempY> | Yesterday's average temperature | n/a |
<#temprangeY> | The temperature range (max - min) yesterday | n/a |
<#Ychillhours> | (Available from release 3.12.0 onwards)
The Cumulative Chill Hours as recorded at rollover (the end of meteorological yesterday) |
n/a |
<#apptempYH> | Yesterday's high apparent temperature | <#TapptempYH> |
<#apptempYL> | Yesterday's low apparent temperature | <#TapptempYL> |
<#feelslikeYH> | Available from version 3.6.10 (NOT AVAILABLE IN CUMULUS 1)
Yesterday's high feels like temperature |
<#TfeelslikeYH> |
<#feelslikeYL> | Available from version 3.6.10 (NOT AVAILABLE IN CUMULUS 1)
Yesterday's low feels like temperature |
<#TfeelslikeYL> |
<#humidexYH | Available from version 3.7.0 (NOT AVAILABLE IN CUMULUS 1)
Yesterday's low Canadian Humidity Index |
<#ThumidexYH> |
<#heatindexYH> | Yesterday's high heat index | <#TheatindexYH> |
<#wchillYL> | Yesterday's greatest wind chill (i.e. lowest temperature) | <#TwchillYL> |
<#dewpointYL> | Yesterday's lowest dew point | <#TdewpointYL> |
<#dewpointYH> | Yesterday's highest dew point | <#TdewpointYH> |
<#humYH> | High humidity yesterday | <#ThumYH> |
<#humYL> | Low humidity yesterday | <#ThumYL> |
Rainfall | ||
<#rfallY> | The total rainfall for yesterday according to the connected weather station | n/a |
<#RG11RainYest> | The total rainfall for yesterday according to an RG-11 rain sensor configured in "Tipping Bucket" mode | n/a |
<#rrateYM> | Yesterday's maximum rain rate | <#TrrateYM> |
<#hourlyrainYH> | Yesterday's highest hourly rain | <#ThourlyrainYH> |
Pressure | ||
<#pressYH> | Yesterday's highest pressure reading | <#TpressYH> |
<#pressYL> | Yesterday's lowest pressure reading | <#TpressYL> |
Wind | ||
<#windYM> | Yesterday's maximum (average) wind speed | <#TwindYM> |
<#wgustYM> | Yesterday's maximum wind gust | <#TwgustYM> |
<#bearingYM> | The wind bearing at the time of yesterday's high gust | <#TwgustYM> |
<#Ybeaufort> | Yesterday's highest wind speed, expressed in the Beaufort scale | <#TwindYM> |
<#Ybeaufortnumber> | Yesterday's high wind speed on the Beaufort scale, without a leading "F", e.g. "6" | <#TwindYM> |
<#Ybeaudesc> | Beaufort 'description' for yesterday's high wind speed | n/a |
<#domwindbearingY> | Yesterday's dominant wind direction in degrees | n/a |
<#domwinddirY> | Yesterday's dominant wind direction as compass point | n/a |
<#windrunY> | The total wind run for yesterday | n/a |
<#windAvgY>> | (Available from release 3.12.0 onwards)
The wind run yesterday divided by 24 hours to express it as an average wind speed |
n/a |
Miscellaneous | ||
<#heatdegdaysY> | Yesterday's heating degree days | n/a |
<#cooldegdaysY> | Yesterday's cooling degree days | n/a |
<#SunshineHoursY> | Yesterday's hours of sunshine so far. Added in Cumulus 2, then to 1.9.1 build 957, also in MX. From version 3.7.0 takes a parameter "dp=n" so the number of decimal places required can be specified | n/a |
<#solarYH> | Yesterday's high solar radiation value (Solar sensor needed) | <#TsolarYH> |
<#UVYH> | Yesterday's high UV Index (UV sensor needed) | <#TUVYH> |
Yearly
This table shows most of the web tags used on the "thisyearT.htm" web template.
The web tags in the date column output dates in the format "dd MMMM" (for once this is same for Cumulus 1 and Cumulus MX). Should you require a different output format, this can be changed using the format parameters described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters. Do make sure that you get the web tag names right and the output form at parameters right.
As another example of inconsistency in how web tags added in different versions are coded, there are two web tags (highest minimum/lowest maximum temperatures) where a standard web tag is not provided by Cumulus (1 or MX) for the associated time-stamp. Consequently, for these 2 (and their corresponding tags in the this month group), there are mandatory output parameters required as shown in the table. Obviously Cumulus 1 lets you use "NN", "nn", "MM", or "mm" for the minutes, but minutes can only be represented in one way in Cumulus MX.
Remember that the Year-to-date runs from roll-over time on 1 January for all web tags listed here.
The list below does NOT include any web tags that represent seasonal derivatives, i.e. where you define the month from which they start counting. (Cumulative seasonal Chill Hours <#chillhours> and Total seasonal rainfall <#ryear> can both be found in Current Conditions). Note, that does not imply both are included in indexT.htm.
Web tag_name | Function | Time | Date |
---|---|---|---|
Temperature & Humidity | |||
<#YearTempH> | This year's highest temperature | <#YearTempHT> | <#YearTempHD> |
<#YearTempL> | This year's lowest temperature | <#YearTempLT> | <#YearTempLD> |
<#YearHighDailyTempRange> | This year's highest Daily Temp Range | n/a | <#YearHighDailyTempRangeD> |
<#YearLowDailyTempRange> | This year's lowest Daily Temp Range | n/a | <#YearLowDailyTempRangeD> |
<#YearHeatIndexH> | This year's highest USA heat index | <#YearHeatIndexHT> | <#YearHeatIndexHD> |
<#YearWChillL> | This year's greatest wind chill (i.e. lowest temperature) | <#YearWChillLT> | <#YearWChillLD> |
<#YearAppTempH> | This year's highest apparent temperature | <#YearAppTempHT> | <#YearAppTempHD> |
<#YearAppTempL> | This year's lowest apparent temperature | <#YearAppTempLT> | <#YearAppTempLD> |
<#YearFeelsLikeH> | This year's highest feels like temperature (available from 3.6.0) (NOT AVAILABLE IN CUMULUS 1) | <#YearFeelsLikeHT> | <#YearFeelsLikeHD> |
<#YearFeelsLikeL> | This year's lowest feels like temperature (available from 3.6.0) (NOT AVAILABLE IN CUMULUS 1) | <#YearFeelsLikeLT> | <#YearFeelsLikeLD> |
<#YearHumidexH> | (Available from version 3.7.0) (NOT AVAILABLE IN CUMULUS 1)
This year's highest Canadian Humidity Index |
<#YearHumidexHT> | <#YearHumidexHD> |
<#YearDewPointH> | This year's highest dew point | <#YearDewPointHT> | <#YearDewPointHD> |
<#YearDewPointL> | This year's lowest dew point | <#YearDewPointLT> | <#YearDewPointLD> |
<#YearMinTempH> | This year's highest daily minimum temperature | Flavour specific mandatory output parameters:
|
<#YearMinTempHD> |
<#YearMaxTempL> | This year's lowest daily maximum temperature | Flavour specific mandatory output parameters:
|
<#YearMaxTempLD> |
<#YearHumH> | This year's high humidity | <#YearHumHT> | <#YearHumHD> |
<#YearHumL> | This year's low humidity | <#YearHumLT> | <#YearHumLD> |
Pressure | |||
<#YearPressH> | This year's high pressure | <#YearPressHT> | <#YearPressHD> |
<#YearPressL> | This year's low pressure | <#YearPressLT> | <#YearPressLD> |
Wind | |||
<#YearGustH> | This year's high wind gust | <#YearGustHT> | <#YearGustHD> |
<#YearWindH> | This year's high wind speed | <#YearWindHT> | <#YearWindHD> |
<#YearWindRunH>
This year's highest Daily Wind Run |
n/a | <#YearWindRunHD> | |
Rainfall | |||
<#YearRainRateH> | This year's highest rainfall rate | <#YearRainRateHT> | <#YearRainRateHD> |
<#YearHourlyRainH> | This year's highest hourly rain | <#YearHourlyRainHT> | <#YearHourlyRainHD> |
<#YearDailyRainH> | This year's high daily rain | n/a | <#YearDailyRainHD> |
<#YearMonthlyRainH> | This year's high monthly rain | n/a | <#YearMonthlyRainHD> |
<#YearLongestDryPeriod> | Longest period without rain ending this year (days) | n/a | <#YearLongestDryPeriodD> |
<#YearLongestWetPeriod> | Longest period of rain every day ending this year (days) | n/a | <#YearLongestWetPeriodD> |
Solar | |||
<#SunshineHoursYear> | the total sunshine hours in year-to-date, or with input modification parameters using either y or r for a past year | n/a | n/a |
All Time
This table lists the web tags that appear in the recordsT.htm example template that is included in each release since version 1.5.1 10th January 2006. Additional tags correctly populated from 3.6.10 (build 3086) or 3.7.0 (build 3089) are marked with a "MX" icon as they are not available in Cumulus 1. Please note the 3.6.10 release was available from 24 June 2020, if the date shown for those MX only tags is before when you installed that (or a later release), the output may show incorrect values.
The output from the web tags shown in the date/time column have the default format that is seen on "records.htm" in the standard web pages:
- The default format for an extreme month is to show the month name in full i.e. format 'MMMM' followed by the year in full.
- For an extreme day it shows the day of the month and the month name in full i.e. format "dd MMMM" (same for Cumulus 1 and Cumulus MX), prefixed with the word 'on' again ending with the year.
- For the highest/lowest within a day in the year it shows both time and date adding the word "at" before the time, and the word 'on' before the date (i.e. on the standard web page the time comes first, not as seen in admin interface).
You can change the default output on either the standard web template, or in your own file, by using the formats features described above, but this can involve complicated use of single and double quotes and there are differences between Cumulus 1 and Cumulus MX. Please see examples section above for advice.
Note that unlike the this month and this year web tags, the time and the date are both included in the default format of the standard time-stamp web tags for the 'highest minimum' and 'lowest maximum' temperatures, yet another inconsistency!
Monthly
This table shows the web tags used on the thismonthT.htm web template.
Because the rainfall this month does not appear on thismonthT.htm web page, it is shown in indexT.htm table earlier in this article which is for the web page where it does appear.
The web tags in the date column output dates in the format "dd MMMM" (for once this is same for Cumulus 1 and Cumulus MX). Should you require a different output format, this can be changed using the format parameters described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters. Do make sure that you get the web tag names right and the output form at parameters right.
As another example of inconsistency in how web tags added in different versions are coded, there are two web tags (highest minimum/lowest maximum temperatures) where a standard web tag is not provided by Cumulus (1 or MX) for the associated time-stamp. Consequently, for these 2 (and their corresponding tags in the this year group), there are mandatory output parameters required as shown in the table. Obviously Cumulus 1 lets you use "NN", "nn", "MM", or "mm" for the minutes, but minutes can only be represented in one way in Cumulus MX.
Web tag_name | Function | Time | Date |
---|---|---|---|
Temperature & Humidity | |||
<#MonthTempH> | This months high temperature | <#MonthTempHT> | <#MonthTempHD> |
<#MonthTempL> | This months low temperature | <#MonthTempLT> | <#MonthTempLD> |
<#MonthMinTempH> | This months highest daily minimum temperature | <#MonthMinTempHD format=hh:nn> or <#MonthMinTempHD format=HH:mm> for Cumulus 1, | <#MonthMinTempHD> |
<#MonthMaxTempL> | This months lowest daily maximum temperature | <#MonthMaxTempLD format=HH:mm> or <#MonthMaxTempLD format=hh:nn> for Cumulus 1,
<#MonthMaxTempLD format=HH:mm> for Cumulus MX |
<#MonthMaxTempLD> |
<#MonthHighDailyTempRange> | High Daily Temp Range | n/a | <#MonthHighDailyTempRangeD> |
<#MonthLowDailyTempRange> | Low Daily Temp Range | n/a | <#MonthLowDailyTempRangeD> |
<#MonthHeatIndexH> | This months high USA heat index | <#MonthHeatIndexHT> | <#MonthHeatIndexHD> |
<#MonthWChillL> | This months greatest wind chill (i.e. lowest temperature) | <#MonthWChillLT> | <#MonthWChillLD> |
<#MonthAppTempH> | This month's high apparent temperature | <#MonthAppTempHT> | <#MonthAppTempHD> |
<#MonthAppTempL> | This month's low apparent temperature | <#MonthAppTempLT> | <#MonthAppTempLD> |
<#MonthFeelsLikeH> | This month's highest feels like temperature (available from 3.6.0) (NOT AVAILABLE IN CUMULUS 1) | <#MonthFeelsLikeHT> | <#MonthFeelsLikeHD> |
<#MonthFeelsLikeL> | This months lowest feels like temperature (available from 3.6.0) (NOT AVAILABLE IN CUMULUS 1) | <#MonthFeelsLikeLT> | <#MonthFeelsLikeLD> |
<#MonthHumidexH> | (Available from version 3.7.0) (NOT AVAILABLE IN CUMULUS 1)
This month's highest Canadian Humidity Index |
<#MonthHumidexHT> | <#MonthHumidexHD> |
<#MonthDewPointH> | This month's high dew point | <#MonthDewPointHT> | <#MonthDewPointHD> |
<#MonthDewPointL> | This month's low dew point | <#MonthDewPointLT> | <#MonthDewPointLD> |
<#MonthHumH> | This month's highest humidity | <#MonthHumHT> | <#MonthHumHD> |
<#MonthHumL> | This month's lowest humidity | <#MonthHumLT> | <#MonthHumLD> |
Pressure | |||
<#MonthPressH> | This month's highest pressure | <#MonthPressHT> | <#MonthPressHD> |
<#MonthPressL> | This month's lowest pressure | <#MonthPressLT> | <#MonthPressLD> |
Wind | |||
<#MonthGustH> | This month's highest wind gust | <#MonthGustHT> | <#MonthGustHD> |
<#MonthWindH> | This month's highest wind speed | <#MonthWindHT> | <#MonthWindHD> |
<#MonthWindRunH> | This month's high Daily Wind Run | n/a | <#MonthWindRunHD> |
Rainfall | |||
<#MonthRainRateH> | This month's highest rainfall rate | <#MonthRainRateHT> | <#MonthRainRateHD> |
<#MonthHourlyRainH> | This month's highest hourly rain | <#MonthHourlyRainHT> | <#MonthHourlyRainHD> |
<#MonthDailyRainH> | This month's wettest day (greatest daily rain) | n/a | <#MonthDailyRainHD> |
<#MonthLongestDryPeriod> | Longest dry period ending this month (days) | n/a | <#MonthLongestDryPeriodD> |
<#MonthLongestWetPeriod> | Longest period of rain every day, ending this month (days) | n/a | <#MonthLongestWetPeriodD> |
Solar | |||
<#SunshineHoursMonth> | the total sunshine hours in month-to-date, or with input modification parameters using either y and m or r for a past month | n/a | n/a |
Monthly All Time Records
This table includes web tags that show the values in Monthlyalltime.ini log file, which was introduced in version 1.9.3 (build 1033, 10 Apr 2012).
These are a set of tags for monthly all-time highs and lows, in other words the highest and lowest values for a particular month of the year.
- The tag names listed here require a input modification parameter.
- The tag names here can optionally take any output modification parameters.
- To supply both optional input modification, and optional output modification parameters, separate them with spaces, e.g. <#ByMonthTempHT mon=7 format=hh:nn>. In that example, the time (not date) of highest ever temperature in July is returned after processing by Cumulus.
At release 3.6.10 (build 3086), and at release 3.7.0 (build 3089); additional tag names were introduced:
- They are marked with a "MX" icon as they are not available in legacy Cumulus 1.
- If you have any "feels like temperatures" that appear with a date/time parameter with a date before 24 June 2020, or before you installed the 3.6.10 release (or a later release), then the value web tag may show incorrect values.
Day/Night/Sun/Moon
In Cumulus 1 most of these are only calculated at UTC zero hours, but are updated each hour to refer to current time-zone.
MX is more complicated, but most of these are calculated hourly.
Web tag_name | Function |
---|---|
<#sunrise> | Last sunrise time at the station - This sunrise time is calculated by a third party library each midnight UTC, and each hour Cumulus converts it to local time to ensure shown correctly before and after any clock change. |
<#sunset> | Next sunset time at the station - The sunset/sunrise times are calculated each midnight UTC, and each hour Cumulus converts them to local time to ensure it shows them correctly before and after any clock change. |
<#daylength> | Length of day in hours and minutes (sunrise to sunset) - The third party library that Cumulus uses each midnight UTC, may take last sunrise from previous day and next sunset from next day, so the calculation may be off by a minute or so compared to true figure for current day. |
<#IsSunUp> | A flag to indicate if the Sun is above the horizon or not, based on the sunrise and sunset times.
Possible values are 0 or 1, where 1 is when the Sun is above the horizon for the station location. |
<#dawn> | Start of last Civil Twilight at the station as at last midnight UTC |
<#dusk> | End of next Civil Twilight at the station as at last midnight UTC |
<#daylightlength> | Approximate length of daylight in hours and minutes (dawn to dusk) - if your timezone is UTC or a few hours off that, the dusk may well be that just passed, and the dawn that to come as at the zero hours UTC when Cumulus 1 does this calculation |
<#isdaylight> | A flag to indicate if the location for the station is in civil daylight or not, based on the dawn and dusk times.
Possible values are 0 or 1, where 1 notes that it is currently within the hours of daylight. |
<#tomorrowdaylength> | A string giving an approximate predicted difference between the length of daylight (dawn to dusk) yesterday and length of daylight tomorrow.
This web tag is unreliable, basically because of the note for <#daylightlength>, and its use was not recommended. Its use is therefore not supported by Steve Loft (i.e. you use it at your own risk) in the legacy Cumulus. |
<#moonphase> | Current phase of the moon in words, eg "New Moon" etc. The names used can be altered in strings.ini. |
<#MoonAge> | Current approximate age of the Moon in days (0-29.53)
MX b3047 adds the 'dp' and 'rc' parameters Supports an optional 'dp' parameter, if supplied the result is returned to the specified number of decimal places. E.g <#MoonAge> gives "11" <#MoonAge dp=3> gives "11.234" There is some PHP script code below this table showing how this can be converted to days, hours, minutes, seconds* If the "dp" parameter is supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point. |
<#moonrise> | Current moonrise time at the station (if moon rises on current calendar day) |
<#moonset> | Current moonset time at the station (if moon sets on current calendar day) |
<#MoonPercent> | Current percentage of moon visible (negative value indicates 'waning')
MX b3047 adds the 'dp' and 'rc' parameters as <#MoonAge> above |
<#MoonPercentAbs> | Current percentage of moon visible (always positive)
MX b3047 adds the 'dp' and 'rc' parameters as <#MoonAge> above |
<#SunshineHours> | see#Today.ini Miscellaneous |
<#SunshineHoursY> | see #Yesterday Miscellaneous |
<#CurrentSolarMax> | Current theoretical maximum solar radiation |
<#IsSunny> | Returns 1 if the sun is shining, otherwise 0 (Solar sensor needed) |
* Footnote: PHP code extract: $MoonAgeDays = <#MoonAge dp=0> +0; $moonDecimalPart = <#MoonAge dp=4> - $MoonAgeDays; $MoonAgeHours = round($moonDecimalPart * 24, 0); $MoonAgeMinutes = round(($moonDecimalPart * 24 * 60) - ($MoonAgeHours * 60), 0); $MoonAgeSeconds = round(($moonDecimalPart * 24 * 60 * 60) - ($MoonAgeHours * 60 * 60) - ($MoonAgeMinutes * 60), 3); $MoonAge = $MoonAgeDays . ' days, ' . $MoonAgeHours . ' hours, ' . $MoonAgeMinutes . ' minutes, ' . $MoonAgeSeconds . ' seconds'; // Change the English words 'days, ', ' hours, ', and 'minutes' to the equivalents in your language
Alarms
There are a set of tags available in Cumulus 1 for various alarm states. In Cumulus 1, the main page will change the colour of the relevant element when an alarm condition is entered or left. You can add sounds, and enable disable each alarm parameter on the Main Cumulus screen, Edit menu.
Alarms are also available in later MX versions. In MX, the alarm conditions are shown on the bottom of the Dashboard page of the user interface. You can add sounds, and enable/disable each alarm parameter on the Alarms screen within Settings menu.
For both flavours, there are web tags for each alarm condition, they give a value of '1' if the alarm condition is enabled and is still currently met; otherwise '0'.
Extreme Records
There are a set of tags for the Cumulus record states. They give a value of '1' if the record has been exceeded; otherwise '0'. For daily records (e.g. temperature range), the record cannot be set until the end of the day when rollover starts. The tag is cleared in Cumulus 1 once the record has been viewed (via main screen or web tag).
Differences depending on Cumulus versions
Cumulus 1.9.x supports all the web tags listed in table below, with the exception of those relating to "humidex" and "feels like".
For Cumulus 1 the tags are cleared in one of two ways:
- Generation of a web page where the web tag is set, clears the record for that web tag.
- Viewing of an extreme screen tab clears all records listed on that tab.
For versions up to 3.5.0 Cumulus MX works in a different way both in terms of how tags are set (see various topics in support forum) and how they are cleared (essentially the end of rollover clears records, so daily records are only shown for the few microseconds while rollover is being processed). From version 3.7.0, Cumulus MX offers all the web tags listed in table below, at earlier versions it offers a subset of those listed.
For MX these web tags will be set from the time of the record until a timeout value is met (by default each record remains set for 24 hours).
You can change the default MX timeout:
- Add a RecordSetTimeoutHrs=NN entry to [Station] section in Cumulus.ini
- NN can be set to any reasonable integer representing hours (for the default set the number NN to '24').
Table of web tags available for extreme records
Special tags
Davis
Please be aware that the tags available are not the same in all versions. At present this table has not yet been updated for latest MX version.
All (see note for THSWindex) of the following web tags for the Davis PWS are available from Cumulus 1.9.2. Most of the following web tags are available in Cumulus MX 3.0.0 beta from build 3019, Storm tags from 3021.
Both flavours update the values of the reception tags every 15 minutes. In Cumulus 1 this applies from 1.9.3, in 1.9.2 they were read, and updated, every minute, in earlier versions not available.
Web tag_name | Applicability | Function |
---|---|---|
<#DavisTotalPacketsReceived> | 1.9.2 onwards and MX | Total number of data packets received. |
<#DavisTotalPacketsMissed> | 1.9.2 onwards and MX | Number of missed data packets. From version 3.6.0 build 3076, optionally add "tx=n" parameter, where n=1-8 and equals the desired transmitter id. |
<#DavisMaxInARow> | 1.9.2 onwards and MX | Longest streak of consecutive packets received. From version 3.6.0 build 3076, optionally add "tx=n" parameter, where n=1-8 and equals the desired transmitter id. |
<#DavisNumCRCerrors> | 1.9.2 onwards and MX | Number of packets received with CRC errors. From version 3.6.0 build 3076, optionally add "tx=n" parameter, where n=1-8 and equals the desired transmitter id. |
<#DavisNumberOfResynchs> | 1.9.2 onwards and MX | Number of times the console resynchronised with the transmitter |
<#DavisFirmwareVersion> | 1.9.2 onwards and MX | The console firmware version |
<#THWindex> | 1.9.x | A derived temperature using Temperature/Humidity/Wind values read from Davis DLL in Cumulus 1.9.x.
|
<#THSWindex> | (1.9.x and) MX | A heat stress indicator using Temperature/Humidity/Solar/Wind values.
Approx calculation: Decrease heat index by 1 unit for each 1 mph increase in wind speed, and for each, either 3 Langley increase in solar radiation, or 10% increase in cloud cover. IMPORTANT NOTES:
|
<#battery> | 1.x.x and MX | The console battery condition in volts. eg "4.82v" |
<#txbattery>
<#txbattery channel=1> |
1.8.9 onwards and MX | The transmitter battery condition, by default it returns the status of all transmitters. (This was displayed from version 1.9.4 to 1.8.9 on the main screen).
Cumulus 1.9.3 onwards Only: The optional 'channel' parameter returns the status for a particular transmitter, up to channel=8. The channel result is just the string "ok" or "LOW" for a low battery |
<#StormRain> | 1.x.x and MX | The console 'storm rain' current amount (build 1090 onwards for Cumulus 1; 3021 onwards for MX) |
<#StormRainStart> | 1.x.x and MX | The console reported date of the start of the 'storm' (the console does not report start time, but it appears a minimum of 2 tips within 3 hours will trigger a storm start, so using <#LastRainTipISO> in a script might help), but standard Cumulus date/time formatting can be applied to that date. |
Davis WLL
New from version 3.6.0. Not available for earlier MX, not available for Cumulus 1.
Web tag_name | Function |
---|---|
<#DavisReceptionPercent tx=1> | WLL transmitter reception percentage (replace 1 by any other transmitter number up to 8) |
<#DavisTxRssi tx=0> | WLL RSSI of the WiFi connection |
<#DavisTxRssi tx=1> | WLL RSSI of Transmitter #1 (replace 1 by any other transmitter number up to 8) |
Fine Offset
The following tags are specific to the Fine Offset series of PWS
Web tag_name | Function |
---|---|
<#Light> | Current Lux value "Fine Offset only" |
<#SensorContactLost> | 1 if the station has lost contact with its remote sensors "Fine Offset only"
0 if contact has been established |