236
edits
m (→Scary statistics: typo) |
SaratogaWX (talk | contribs) m (→Extra Sensors: Davis models and Oregon Scientific WMR928, WR100/200: added some sensors, reformatted the table) |
||
(63 intermediate revisions by 4 users not shown) | |||
[[Category:Terminology]]
=Some content has been removed from this page=
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.
Where the old content was cut, new links have been substituted within three sections on this page: [[#Input Modification Parameters and Output Modification Parameters]], [[#The tag name]], and [[#Recent History]].
=Essential Background Reading=
===The tag names===
<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 first beta build release '''3.12.0'''</div> are in [[#Full List of Tag Names]] later on this page.
<
If you are using a Oregon Scientific weather station, then you should read [[#Web tags mentioning (outside) temperature]] in the optional reading section.
Do not assume that Cumulus always works according to normal meteorological practice in your nation. For examples, the hours used by Cumulus to report derivatives involving rainfall, or minimum temperature, may vary from figures reported by local meteorological stations.
===Quick summary of MX and Legacy differences===
==Cumulus MX versus original Legacy Cumulus 1==
The full 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]]. The next subsection just gives a basic summary.
[[File:Badge vMx.png]] This page has been updated to include web tags up to version 3.12.0 beta build 3134. Announcements for new builds of MX generally provide too little information for it to be easy to update this page, that is why it is often out of date.
* Since version 3.10.x, MX has not used web page templates, please see <big>[[WebsitedataT.json]]</big> page, instead of this Wiki page.
*# That page explains the ID names used on the [[New_Default_Web_Site_Information|default web site]] introduced from release 3.10.0
*# That page documents each data pair in the file
*# That page gives the source web tag for each ID name on the web pages
*# That page explains what data is represented by the ID name, JSON attribute, web tag name
* Past MX releases 3.0.0 to 3.9.7 used [[Cumulus template file|web template files]], similar to (but not same as) the legacy software
** This Wiki page remains organised according to the content of those old template files.
[[File:Badge v1.png]][[Category:Cumulus 1]] This page was created for Cumulus 1. Steve/Beth Loft provided some example [[Cumulus template file|web template files]], but expected Cumulus users to develop their [[Customised templates|own Cumulus template files]] making use of the web tags, listed below, that the software provided.
For tag names available in the release you are using, see the next sub-sections.
===What web tags can I use?===
Basically, it depends on which web tags are in whatever files are used to transfer weather derivatives to your web server.
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. You can, see below, ask Cumulus (both MX and legacy) to list all the tag names it recognises, when it is started at whatever build you are running.
====Using release after 3.9.7?====
If you are using the [[New_Default_Web_Site_Information|default web site]], its standard web pages show data as follows:
* Pages with tabular presentation, see [[WebsitedataT.json]].
* Pages with graphs, see [[Cumulus.ini#Optional_Web_Server|Graph File Settings]].
* Page with steel series dials, see [[Cumulus.ini#Display_Options|Display Options]].
If you are using your own web templates, or other [[Customised templates|own Cumulus template files]] such as [[Php_webtags|XML or PHP data files]], then you make the decision on which tag names are used for the data to your web server.
====Getting release 3.12.0 or later to list tag names when it starts====
Please use the admin interface.
Go to '''Program settings → General options'''
Tick ''List web tags''.
The next time that MX is restarted, 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.
Go to '''Program settings → General options''', untick ''List web tags'' to stop Cumulus continuing to produce new versions of that file next time it is restarted.
====Getting legacy Cumulus, or MX releases up to 3.11.4, to list tag names when starting====
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...
<code>ListWebTags=1</code>
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 ...
<code> ListWebTags=0</code>
[[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.
==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]].
==General Format for Web Tags==
In the position, in any (HTML, JSON, PHP, XML) 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>
===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 [[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.
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.
===Inconsistency of tag names===
For both the legacy Cumulus and for MX, it is vital that you use tag names exactly as they are listed. That would be easy had Steve Loft created a naming standard and stuck to it.
To be fair to Steve, he created the legacy Cumulus for his own use, working in his spare time, alongside a full time job.
Remember, the original design did not anticipate use by others, nor how much extra functionality would be added later.
Early versions of Cumulus could only report current values and the summary for the day so far. Different web tags for today-so-far were added at different times, hence the names are inconsistent. New web tags for today-so-far added before yesterday tags were considered lack the T suffix (or prefix) later today-so-far tags use.
All-time tags were introduced before yesterday, this month and this year; hence all-time tag names assume they are only extreme monitoring.
The legacy tag names for this month and this year were all introduced in a single release and they remain consistent apart from what MX added later! However, they are not consistent with the naming of the all-time extremes introduced much earlier.
This great inconsistency in the naming, gives rise to a problem as it very easy to spell a tag_name incorrectly (and from time to time such mistakes creep into the tables on this Wiki page) as you naturally expect there to be a standard pattern. Some tags are all lower-case, some are camel-case, and some start with a capital letter. Have a look yourself at just how much inconsistency is present in the names in the tables below.
=====Inconsistency in use of "Y"=====
The character "Y" has been selected to denote yesterday in tag names. The inconsistency is where it appears.
* Steve used Y as a suffix for most, not all, Cumulus 1 yesterday tags (e.g. <#rfallY>, <#windrunY>, <#YSunshineHours>, <#avgtempY>)
* Mark uses Y as a prefix, in most, not all, the extra Cumulus MX tags (e.g. <#Ybeaufort>, <#Ychillhours>, <#windAvgY>)
=====Consistency in Cumulus 1, becomes inconsistency in MX, for this month and this year=====
The legacy tag names for this year and this month were all introduced together by Steve in one release, with consistency in how they were named then, "Month" or "Year" was used as a prefix (this was after he had started using "Y" as a prefix for his new yesterday tag names) e.g. <#YearLongestDryPeriod>.
The development of MX however, broke this consistency, as Mark adds "Year" as a suffix, e.g. <#SunshineHoursYear>, instead of following Steve by using a prefix.
=====Inconsistency in use of "T"=====
I said above, that early versions of Cumulus only had tag names for current spot values and for today-so-far daily means/extremes/totals. Therefore it could be assumed that <#beaufort>, <#temp> and <#press> all represented current spot values while <#avgtemp> and <#rfall> represented today-so-far values just by looking at their names.
The current value tag names formed the basic part of tag names, extended for daily extremes with "TH" and "TL" added as suffixes (to represent daily highs and daily lows), (e.g. <#tempTH>, <#tempTL> and <#pressTH>, <#pressTL>), which made a lot of sense. Adding a "T" for related times, made some sense, except that use of "T" was not done in a consistent manner (e.g. <#TpressTH>, <#Tbeaufort>, <#TtempTH>, <#YearTempHT>).
===The functionality that can use web tags===
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.
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:
* 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=
==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 → <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'''
# 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.
'''''Please check release announcements, it is planned that swaping of main Temperature sensor will become available for Ecowitt.'''''
==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]] (the first 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), but are now on a new [[Webtags/Parameters|web tag parameters]] page. Here are some of the advantages achieved by moving them to the new page:
* This page is very long, so it is not easy to navigate this page, 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 between different parts of same page.
* The introduction of [[WebsitedataT.json]], which controls what data is available to tables in the web pages provided by MX, means that page, rather than this page is the entry point for MX, and it is easier for that page to reference a separate parameters page
* 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 at [[Webtags/Parameters#Multiple_Output_Format_Modifier_parameters_for_times_and_dates|Multiple_Output_Format_Modifier_parameters_for_times_and_dates]]
== Why does MX talk about tokens? ==
MX uses a [[Cs_Code_Modules#TokenParser.cs|'''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==
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==
[[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
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.
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:
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.
*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.
<br>
=<big>
{{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 >.
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 [[Realtime.txt|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 Sensors|extra]] temperature and relative humidity sensors (see [[Extra temperatures]])
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 ====
|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>
|The inside temperature
|-
|<#TempChangeLastHour>
|The change in outside temperature over the last hour (not available in early versions of Cumulus 1, when this was announced, a temperature change over 24 hours was also proposed, but never implemented)
|-
|<#temptrend>
|The average rate of change in temperature over the last three hours. Trend = (temp_now - temp_3hrs_ago) / 3 (available in all releases, the calculation selected for this trend matches the standard-based calculation for <#presstrendval> despite the naming inconsistency)
|-
|<#temptrendtext>
|-
|<#temptrendenglish>
|Temperature change over the last three hours - Rising/Falling/Steady (for use by [[Webtags_as_boolean_operators_in_HTML|HTML]], [[Editing_content_of_a_webpage_using_either_HTML_or_Script|javascript]] etc, values can't be changed). From version 1.8.8 1st December 2009
|-
|<#heatindex>
|-
|<#feelslike>
|
[[File:Badge vMx.png]]Not available in all MX versions. Please see [[#Feels_Like|sub-section
The current [[Feels_Like|Feels Like]] temperature. The referenced page in weather terminology section of this Wiki explains it.
|-
|<#wetbulb>
|Estimated [http://en.wikipedia.org/wiki/Wet_bulb wet bulb] temperature, can be seen if hover over '
|-
|colspan="2" style="background:lightgray;"|Rainfall
|-
|<#rfall>
|The total rainfall so far today (reports rain counter now minus rain counter at start of day), start of day counter can be edited using "edit rain today".
|-
|<#rrate>
|The current [[Rain_measurement#Rain_Rate|rainfall rate]]
|-
|<#rhour>
|-
|<#r24hour>
| Reading recent history records, takes rain counter for latest minute, and substracts rain counter from as close as possible to same time yesterday (if Cumulus was not running at that time yesterday, but historical catch-up has been enabled, then it is from nearest time available yesterday, so for a logging interval of every 30 minutes might be 24 hours and 16 minutes ago)
|-
|<#LastRainTipISO>
|-
|<#presstrendval>
|The average rate of pressure change over the last three hours. Trend = (pressure_now - pressure_3hrs_ago) / 3 (Fixed from version 1.7.7 5th March 2008)
|-
|<#presstrend>
|-
|<#presstrendenglish>
| a singe word description for the pressure trend - Rising/Falling/Steady (for use by [[Webtags_as_boolean_operators_in_HTML|HTML]], [[Editing_content_of_a_webpage_using_either_HTML_or_Script|javascript]] etc, values can't be changed). From version 1.8.8 1st December 2009
|-
| <#PressChangeLast3Hours>
|<#wgust>
|The highest wind reading in the last 10 minutes. Corresponds to 'gust' on the Cumulus main screen.
|-
|<#WindSampleCount>
|The number of wind samples making up the wind rose (etc) data (up to 3600)
|-
|<#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
* Oregon: x=12 seconds (see https://cumulus.hosiene.co.uk/viewtopic.php?p=37#p37) so 12 hours worth in full array
* Davis: x=2 or 3 seconds (see https://cumulus.hosiene.co.uk/viewtopic.php?p=37#p37) so 2.5 hours worth in full array
* Fine Offset: Cumulus 1 reads the wind data every minute (although station transmits wind data every 40 seconds), so 60 hours worth in full array
* Davis WLL: x=2.5 seconds (see https://cumulus.hosiene.co.uk/viewtopic.php?p=160900#p160900) so 2.5 hours worth in full array
|-
|<#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 (see above).
|-
|<#nextwindindex>
|The index of the entries in <#wdirdata> and <#wspddata>
|-
|<#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), as configured on [[Cumulus_Screenshots#Display_and_Colour_screens_as_at_version_1.9.4|display settings screen]]
|-
|<#beaufort>
|-
|<#BearingRangeFrom>
|The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in [[Cumulus.ini (Cumulus 1)|cumulus.ini]])
|-
|<#BearingRangeTo>
|<#BearingRangeTo10>
|The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees
|-
|colspan="2" style="background:lightgray;"|Miscellaneous
!style="width:600px"|The related description can be changed in 'strings.ini', but below are default descriptions that will be shown in viewer/editor
|-
|<#ExtraTemp1 - 10>
|Extra temperature channel 1 to channel 10
|-
|<#
|Extra
|-
|<#
|Extra
|-
|<#SoilTemp1 - 16>
|Soil temperature channel 1 to channel 16
|-
|<#SoilMoisture1 - 16>
|
|-
|<#
|
|-
|<#LeafWetness1 - 4>
|
|}
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=====
[[File:Badge vMx.png]] Unless otherwise indicated these web tags become available from release 3.9.5.
{| class="wikitable" border="1"
!style="width:150px" |Web tag_name
!style="width:600px" |Function
|-
| <#CO2>
| The actual CO<small>2</small>concentration in ppm
|-
| <#CO2-pm2p5>
| Air Quality expressed in terms of particulate matter of 2.5
|-
| <#CO2-pm2p5-24h>
| Air Quality expressed in terms of particulate matter of 2.5 μm/m<small>3</small>, or less,
|-
| <#CO2-pm10>
| Air Quality expressed in terms of particulate matter of 10 μm/m<small>3</small>, or less (yes, this includes the 2.5 figure)
|-
| <#CO2-pm10-24h>
| Air Quality expressed in terms of particulate matter of 10 μm/m<small>3</small>, or less,
|-
| <#CO2-temp>
| Temperature as reported by Air Quality monitor.
Note that this temperature has nothing to do with the temperature as reported by the main weather station. It reflects the temperature of the sensor and would be used in combination with the sensors measured humidity (see next) for correction of the measured PM (particulate matter) value. Determination of how to correct the PM value is highly dependent on the conditions and placement of the sensor. See the specification sheet for the sensor or create some multivariate regression line based on calibration measurements. This is also valid for PM sensors like the AirLink. The normal amateur usage of PM sensors is that the uncorrected values are published.
|-
| <#CO2-hum>
=====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
|-
|<#AirQuality1>
| Air quality
|-
|<#AirQuality2>
| Air quality in μm/m<small>3</small> or less
|-
|colspan="2"|... and so on up to <#AirQuality4>
|-
|<#AirQualityAvg1>
| 24 hr running average Air quality in μm/m<small>3</small> or less
|-
|<#AirQualityAvg2>
| 24 hr running average Air quality in μm/m<small>3</small> or less
|-
|colspan="2"|... and so on up to <#AirQualityAvg4>
|-
|<#LeakSensor1>
|Leak sensor 1 - returns false/true as 0 or 1
|-
|<#LeakSensor2>
|Leak sensor 2 - returns false/true as 0 or 1
|-
|colspan="2"|... and so on up to <#LeakSensor4>
|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 '----')
|-
|<#LightningSrikesToday>
|Number of lighting strikes
|-
|<#UserTemp1>
==Recent History==
Please refer to the [[Recent history]] page for full information about using the tags in the following two tables, as material once on this page has been moved there.
===Using input/output modification parameters with recent history tag names===
'''All tag names listed below, require the mandatory input modification parameters specified in this table.'''
The optional output modification parameters available are as specified in this table, depending on tag name:
{| class="wikitable" border="1"
|-
!style="width:150px" | Tag names
!style="width:200px" | Mandatory Input Modification Parameters
!style="width:200px" | Optional Output Modification Parameters
|-
| <#RecentTS> (see [[#Table of Recent History tag names available]])
| Mandatory parameters as table at [[Webtags/Parameters#Input_modification_Parameters]]
| Optional parameters to modify the time format described in tables starting at [[Webtags/Parameters#Multiple_Output_Format_Modifier_parameters_for_times_and_dates]]
|-
| All other tag names in [[#Available in 1.9.3, 1.9.4, and all MX releases]] and [[#Available in MX only]]
| Mandatory parameters as table at [[Webtags/Parameters#Input_modification_Parameters]]
| Whether you can modify the way these values are output depends on release you are using:
* From release 3.10.5: Please see tables at [[Webtags/Parameters#Output_Modification_Parameter_for_changing_any_decimal_comma_into_a_decimal_point]] and [[Webtags/Parameters#Controlling_the_number_of_decimal_places]]
* For legacy Cumulus, and earlier MX releases, no output format modification parameters are available, instead see [[#No_Commas]] section on this page.
|}
=== Table of Recent History tag names available ===
One tag name is available since 1.9.3 to report the time associated with values you request.
Although as [[Recent history]] page explains, the history is intended to cover every minute in last 7 days, some entries may be at less frequent intervals, and when clocks change some entries will be missing altogether.
{| class="wikitable" border="1"
|-
|Gives the timestamp of the data that will be returned for any other recent history tag that uses same '''d, h, and m''' parameters
|<#RecentTS h=3 m=1 format="HH:nn"> for cumulus 1; <#RecentTS h=3 m=1 format="HH:mm"> for cumulus MX
|}
====Available in 1.9.3, 1.9.4, and all MX releases====
{| class="wikitable" border="1"
|-
!style="width:150px" | Tag_name
!style="width:600px" | Function
!style="width:600px" | Input Modification Parameters example
|-
|colspan="3" style="background:lightgray;"|Temperature & Humidity tags
|-
|<#RecentWindChill>
|Wind Chill
| <#RecentWindChill d=48 m=1> reports the wind chill temperature 2 days ago
|-
|<#RecentDewPoint>
| d=n (where n runs 0 to 6) days ago; h=n (where n is any number of hours ago); m=n (where n is any number of minutes ago)
|-
|colspan="3" style="background:lightgray;"|Wind <br>(Note: Wind 'Speed', 'Gust' and 'Latest' have the usual Cumulus meanings see [[Wind measurement]])
|-
|<#RecentWindSpeed>
|-
|<#RecentWindLatest>
|Wind Latest.
| d=n (where n runs 0 to 6) days ago; h=n (where n is any number of hours ago); m=n (where n is any number of minutes ago)
|-
|}
====Available in MX only====
Please note this section has NOT yet been updated for recent MX releases, it appears from [[cumulusmx.db|RecentData table in cumulusmx.db]] that the list here is not complete for MX. However, no release announcement has been found listing tag names not shown here (i.e. apparent temperature, indoor temperature and humidity, air quality)
{| class="wikitable" border="1"
|-
!style="width:150px" | tag_name
!style="width:150px" | Introduced
!style="width:600px" | Function
!style="width:600px" | Input Modification Parameters example
|-
|colspan="4" style="background:lightgray;"|Indoor Temperature & Humidity tags
|-
|colspan="4" | (to do)
|-
|colspan="4" style="background:lightgray;"|Outdoor Temperature & Humidity tags
|-
|<#RecentWindChill>
| Legacy Cumulus version 1.8.5
|Wind Chill (if temperature is below 10°C or 50 °F, then the new Feels Like now available in MX (next item) will report this same value).
| <#RecentWindChill d=48 m=1> reports the wind chill temperature 2 days ago
|-
|<#RecentFeelsLike>
| Available from version 3.6.11 (build 3087) onwards.
| Feels Like Temperature
| <#RecentFeelsLike h=12 m=1> reports the feel like temperature 12 hours ago
|-
|<#RecentHumidex>
| Available from version 3.7.0 (build 3089) onwards.
| Canadian Humidity Index (humidex) Dimensionless - no units
| <#RecentHumidex h=3> reports humidex 3 hours ago
|-
|colspan="4" style="background:lightgray;"|Air Quality tags
|}
== System ==
Special tags returning information about the Windows device hosting Cumulus 1.
[[File:Badge vMx.png]]''If you are running MX, then most tags do not work.''
{| 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"
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)
[[File:Badge v1.png]] only in legacy Cumulus
|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
|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.
If there is no entry in Weather Diary for the day explained above, reports zero.
[[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]] 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.
|-
|colspan="2" style="background:pink;"|MX only
|-
|<#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.
[[File:Badge
|-
|<#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.
[[File:Badge
|}
===Today.ini===
As explained earlier, these tag names relate to latest [[Meteorological day]] and they are populated from information held in [[today.ini]], as the sub-section title suggests; except for Sunshine Hours which relate to latest Calendar day and can be taken from either [[yesterday.ini]] or "today.ini" depending on (respectively) whether before or after rollover time if that is not midnight.
Also as explained earlier, there is some inconsistency in naming with "T" not included in all tag names, "T" is used in conjunction with "H" or "L" as a suffix for extreme values/time-stamps, but a prefix "T" can identify today's value, or prefix "T" can signify a time-stamp.
In the legacy '''todayT.htm''' template, in the legacy "/web" folder, use was made of a selection of the tag names listed here.
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]].
{| class="wikitable" border="1"
|-
|Today's low apparent temperature
|<#TapptempTL>
|-
|colspan="3" style="background:pink;"|MX only
|-
|<#feelslikeTH>
Please see sub-section below current conditions if you are using Cumulus 1 or an earlier version of MX.
|<#ThumidexTH>
|-
|colspan="3" style="background:pink;"|Both legacy and MX
|-
|<#heatindexTH>
|-
|<#SunshineHours>
|Today's hours of sunshine so far. Added in Cumulus 2, then to 1.9.1 build 957, also available in MX. From version 3.7.0 takes a parameter "dp=n" so the number of decimal places required can be specified
|n/a
|-
|colspan="3" style="background:pink;"|MX only
|-
|<#LightningStrikesToday>
|Number of strikes since midnight, default 0 - Added at 3.2.0 - b3056, but see subsequent release announcements as the handling of lightning was improved gradually over several subsequent releases.
(other lightning tags can be found in [[#Current_Conditions|Current Conditions table]])
|-
| <#chillhoursToday>
| The incremental chill hours figure since start of today (tag name available from version 3.12.0 beta build 3134, but the coding to process this web tag has a bug at time of adding this note to this Wiki page, as it may incorrectly report 99.99; hopefully a calculation using <#Ychillhours> and <#chillhours> will work better)
(Compare with Cumulative seasonal Chill Hours at end of today <#chillhours> found in [[#Current_Conditions|Current Conditions table]])
|}
== 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. Some computer languages like JavaScript will not accept a comma being used for this purpose.
===MX===
Cumulus MX uses JavaScript Object Notation files for many of its data transfers.
From '''release 3.5.4''' build 3075, most web tags (one notable exception is indoor temperature <#intemp> where rc parameter not available until release 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.
===Legacy Cumulus===
Cumulus 1.9.4 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 are listed in the sub-sections that follow and all correspond to the same tag name with the letters 'RC' removed that has been listed in respective sections of this Wiki page.
====RC CURRENT CONDITIONS:====
<#RCtemp>, <#RCdew>, <#RCheatindex>, <#RChum>, <#RCinhum>, <#RCintemp>, <#RCpress>, <#RCrfall>, <#RCrrate>, <#RCwchill>, <#RCwgust>, <#RCwspeed>, <#RCwlatest>
====RC TODAY:====
<#RCpressTH>, <#RCpressTL>, <#RCrrateTM>, <#RCtempTH>, <#RCtempTL>, <#RCwgustTM>, <#RCdewpointTH>, <#RCdewpointTL>, <#RCwchillTL>, <#RCheatindexTH>, <#RCapptempTH>, <#RCapptempTL>
====RC RECENT HISTORY:====
<#RCRecentOutsideTemp>, <#RCRecentWindSpeed>, <#RCRecentWindGust>, <#RCRecentWindLatest>, <#RCRecentWindChill>, <#RCRecentDewPoint>, <#RCRecentHeatIndex>, <#RCRecentPressure>, <#RCRecentRainToday>, <#RCRecentUV>
There are other derivatives that can be calculated similarly from a set of simultaneous values, as described below the recent history section.
==Yesterday==
!style="width:550px" | Function
!style="width:150px" | Time
|-
|colspan="3" style="background:pink;"|Legacy and MX
|-
|colspan="3" style="background:lightgray;"|Temperature & Humidity
|The temperature range (max - min) yesterday
|n/a
|-
|<#apptempYH>
|Yesterday's low apparent temperature
|<#TapptempYL>
|-
|colspan="3" style="background:pink;"|MX only
|-
| <#Ychillhours>
| The Cumulative [[Heat/cold_degree_days_and_Chill_hours#Chill_Hours_and.2For_Air_Frost|Chill Hours]] as recorded at rollover (the end of meteorological yesterday) (Available from release 3.12.0 onwards)
| n/a
|-
| <#chillhoursYest>
| The incremental [[Heat/cold_degree_days_and_Chill_hours#Chill_Hours_and.2For_Air_Frost|Chill Hours]] change yesterday (Available from release 3.12.0 onwards)
(compare with <#chillhoursToday> described in [[#Today.ini]] table)
| n/a
|-
|<#feelslikeYH>
|[[File:Badge vMx.png]] Available from version 3.6.10
Yesterday's high feels like temperature
|-
|<#feelslikeYL>
|
Yesterday's low feels like temperature
|-
|<#humidexYH
|
Yesterday's
|<#ThumidexYH>
|-
|colspan="3" style="background:pink;"|Legacy and MX
|-
|<#heatindexYH>
|n/a
|-
|colspan="3" style="background:pink;"|MX only
|-
| <#windAvgY>
| [[File:Badge vMx.png]] (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
|-
|colspan="3" style="background:pink;"|Legacy and MX
|-
|colspan="3" style="background:lightgray;"|Miscellaneous
|n/a
|-
|<#
|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
|Yesterday's high UV Index (UV sensor needed)
|<#TUVYH>
|}
|-
|<#YearWindRunH>
| This year's highest Daily Wind Run
|n/a
|<#YearWindRunHD>
|<#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==
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 [[Webtags/Parameters#Input_modification_Parameters|input modification parameter]].
# 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.
{| class="wikitable" border="1"
|-
|-
|<#sunrise>
|Last sunrise time at the station - This sunrise time is calculated by a third party library each midnight UTC (in legacy cumulus), 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 (in legacy cumulus), 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 (in legacy cumulus), 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>
|-
|<#SunshineHours>
| see [[#Today.ini]] Miscellaneous
|-
|<#SunshineHoursY>
|<#newrecord>
|Indicates when any tracked extreme is changed.
* [[File:Badge vMx.png]]In Cumulus MX: 1 from when new record is set until
** either all records have cleared
** or until next rollover is completed,
** or (in recent releases) until the number of hours for clearing extreme record notifications has passed
* 0 otherwise
* [[File:Badge v1.png]]In Cumulus 1.x.x:
** 1 if 'new record' light is flashing,
** 0 if not
|-
|<#TempRecordSet>
|<#DavisTotalPacketsReceived>
|1.9.2 onwards and MX
|Total number of data packets received. This stat is not supplied by the Davis WLL station.
|-
|<#DavisTotalPacketsMissed>
|1.9.2 onwards and MX
|Number of missed data packets.
|-
|<#DavisMaxInARow>
|1.9.2 onwards and MX
|Longest streak of consecutive packets received.
|-
|<#DavisNumCRCerrors>
|1.9.2 onwards and MX
|Number of packets received with CRC errors.
|-
|<#DavisNumberOfResynchs>
|1.9.2 onwards and MX
|Number of times the console resynchronised with the transmitter. From version 3.6.0 build 3076, optionally add "tx=n" parameter, where n=1-8 and equals the desired transmitter id. The default is n=0 and will return the VP2 stats
|-
|<#DavisFirmwareVersion>
|1.9.2 onwards and MX
|The console/WLL firmware version
|-
|<#THWindex>
|<#StormRainStart>
|1.x.x and MX
|The console reported '''date''' of the start of the 'storm'
(Note that the console does not report start time, so the web tag cannot report time. It appears a minimum of 2 tips within 3 hours will trigger a storm start, so using <#LastRainTip> in a MX script might help)
|}
|