Webtags (preserving history): Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
m
→‎Recent History: reference to examples added
(Finish off)
m (→‎Recent History: reference to examples added)
(8 intermediate revisions by the same user not shown)
Line 11: Line 11:
==What is a web tag? ==
==What is a web tag? ==


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.  
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.
 
==Template files can create many types of file==


The output file can be:
The output file can be:
Line 20: Line 22:
*a [[Xml_webtags|eXtensible Mark-up Language (XML)]] file.
*a [[Xml_webtags|eXtensible Mark-up Language (XML)]] file.


==General Format for Web Tags==
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>
To find out what is allowed for '''tag_name''', see the various tables later on this page.
To find out what is allowed for the '''input selection parameters''' and '''output modification parameters''', refer to [[Webtags/Parameters|web tag parameters]] page.


==What this page covers ==
==What this page covers ==
Line 890: Line 899:
==Recent History==
==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.  Following the table giving the tags actually available, there is a section on how to derive a few more tags.
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


(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 as either the hour has been overwritten or ''when the clocks go forward'' it simply does not exist).
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.


[[#No_Commas]] versions of the array are available for use in script.


=== Input Parameters ===
===Warning when Daylight Saving Time starts or ends===


You specify which value you want from the array by using parameters on the web tags for number of days ago, hours ago, and minutes ago. The same d, h, and m, parameters are used by Cumulus 1 and MX.
Note that Cumulus uses current time, read from the computer, to determine which array element it stores each value in.  


All values supplied for parameters must be whole numbers.  
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.  


If you don't supply any parameters, the result is undefined for Cumulus 1, and an illegal web tag for MX.  
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.


<#RecentOutsideTemp m=1> will give the temperature one minute ago, <#RecentOutsideTemp h=1> will give the temperature one hour ago (as will <#RecentOutsideTemp m=60>).
=== Table of Recent History web tags available ===
 
<#RecentOutsideTemp d=1> will give the temperature one day ago. '''Please note:''' Some Cumulus users say that using <#RecentOutsideTemp  d=1 m=1> is more reliable at getting the temperature at a similar time the day before, the extra minute apparently gives better results when you might not be using Cumulus all the time, or your weather station might have some drift on when it supplies readings. See which works best for you.
 
<#RecentOutsideTemp d=1 h=1 m=1> will give the temperature one day, one hour and one minute ago.
 
'''Please note that parameters specify time-stamped array element to retrieve based on counting back from current local time''' so the result for ''any period including when clocks change'' may not be quite what you anticipated.
 
 
=== During catch-up ===
When Cumulus is re-started the array it sets up will be based on reading the logs, so the contents will initially have a resolution according to the logger interval you have set in Cumulus and/or your station.  You'll get the nearest value if you ask for a time for which there is currently no exact match, and the first tag listed tells you that nearest time.


=== Variations between Builds/Versions ===
Before build 1098, the recent history array did not initialise correctly from the station logger for the period since Cumulus was last run.


The input parameters are same for Cumulus 1 and Cumulus MX, they always use lower case d, h or m.
[[#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 [[Webtags/Parameters#Output Modification Parameter for Removing Commas|rc=y]] parameter.
 
The list of tags available has not changed between last Cumulus 1 release and any MX release. Any new derivatives reported elsewhere have not resulted in equivalent new recent history tags.
 
=== Table of Recent History web tags available ===


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 1,971: Line 1,968:
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.  To supply both optional input, and optional output parameters, separate them with spaces, e.g. <#ByMonthTempHT mon=7 format=hh:nn>. In that example,  the highest ever temperature in July is returned in the value after processing by Cumulus.
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.  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 highest ever temperature in July is returned in the value after processing by Cumulus.
 
Each Monthly All Time Records web tag has an optional input parameter "mon=N" where N is the index of the month of the year that you want the value for (January=1 and so on).  The corresponding date/time web tags are formatted like the all time records directly above this section. You can customise the date and time formats using the output  'format' parameter on the web tag.


If you don't supply an input parameter (or supply an invalid value like zero) the current month will be used. This is useful if you want to write a template that will always supply values for the current month and don't want to use a script to enter the correct input parameter by processing with that script before Cumulus processes the template.
For full details of the input modification parameters, see [[Webtags/Parameters#Input_modification_Parameters|Parameters]] page.


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.
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.
5,838

edits

Navigation menu