Realtime.txt: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
(Updated recreating file with webtags for the new tags available in v1.9.2)
 
(54 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Template:Version badge Mx}}{{Version badge 1}}This Wiki page applies to both Cumulus flavours.
[[Image:CumulusInternetSettingsScreen.png|thumb]] Although not technically a 'log file' it is automatically produced by Cumulus and follows a similar format to the other Log files. <br><br> realtime.txt is a text file with a single line of ''space'' separated values. It contains a list of key values of the sensors and is updated frequently. <br><br> Using Cumulus you decide how often to update the file -- for example every 15 seconds. This is then uploaded to your website and used to produce near instant readings. <br><br> To set how often the file is produced by Cumulus, click on the 'Configuration' menu then 'Internet' (Click the thumbnail opposite)


Note that from Cumulus 1.9.1 onwards, the options for uploading realtime.txt have changed. To get the realtime.txt file to upload, you need to tick all three 'enable realtime' options in the internet settings.


[[Category:Cumulus Files]] [[Category:MX_txt_Files]]
<br> Notes:
This Wiki page describes one of the [[:Category:Cumulus Files|files]] that Cumulus can optionally generate.


*The realtime.txt file is NOT a log file and is constantly replaced. It does not therefore contain any historic data.
*The 'interval' sets how often Cumulus produces ''and'' uploads to the website


= List of fields in the file =
<br>


The list below represents the field list for the final 1.9.4 version of Cumulus, (and releases of MX before 3.7.0).
= Special note to Fine Offset/EasyWeather users =

Weather stations which come shipped with the EasyWeather software (generally known as FineOffset or Watson) should consider the realtime updating with care. The station only updates every 48 seconds, so sending realtime information to your website every 5 seconds is very wasteful. It may be better for a figure of around 30 seconds, that way a visitor knows not to expect updates too often but you also allow Cumulus to catch up to two updates within a minute (depending on when the first and second 48 second update came to Cumulus)

<br>

= Bandwidth Considerations =

In order to provide near real-time updates, Cumulus uploads a very small file at regular intervals. Typically this is 15 seconds buy depends on your setting above.

Most internet providers now place a limit on the amount of Bandwidth you can consume each month. Bandwidth is a figure representing the data you can upload and download. Doing such a regular upload will impact on your allowance.

The file Cumulus uploads is less than 1024 bytes in size, but for the calculation we will assume 1024 bytes

During a month (31 days) the upload process will consume roughly 175 Mbytes of bandwidth -- this is a tiny consideration as usually bandwidth restrictions from your provider start in the Gigabytes (Gb) range, not Megabytes (Mb).

On top of your internet connection bandwidth restrictions, you may also have bandwidth caps on your web server so this same figure should be considered for your webserver.

<br>

= Where is the file used =

The realtime.txt is used by:

*the 'gauges' page on the website produced by Cumulus
*[[CumulusRealtime]] -- the new application developed in [http://silverlight.net/ SilverLight]
*The [[WeatherConsole]] and [[Sidebar gadget]] [[:Category:AddOns|addons]]

<br>

= Format of the file =


For historic interest, old versions of Cumulus 1 had fewer fields; although the table does not indicate the version at which each field was added, you can click the '''History''' tab and look at the early edits.
{| border="1" class="wikitable"
{| border="1" class="wikitable"
|-
|-
! style="width:60px" | Field #
! style="width:60px" | Field number
! style="width:80px" | Example
! style="width:80px" | Example content
! style="width:450px" | Description
! style="width:450px" | Description
! style="width:90px" | Equivalent [[Webtags]]
! style="width:180px" | Equivalent [[Webtags|web tag]].
|-
|-
| 1
| 1
| 19/08/09
| 19/08/09
| Date as ''2 figure day [separator] 2 figure month [separator] 2 figure year'' - the separator is that set in the windows system short date format (see [[setup]])
| date (always dd/mm/yy)
| &lt;#date&gt;
| &lt;#date&gt;
|-
|-
| 2
| 2
| 16:03:45
| 16:03:45
| time(always hh:mm:ss)
| time(always hh:mm:ss as per computer system)
| &lt;#timehhmmss&gt;
| &lt;#timehhmmss&gt;
|-
|-
Line 101: Line 70:
| 11
| 11
| 999.7
| 999.7
| barometer
| barometer (The sea level pressure)
| &lt;#press&gt;
| &lt;#press&gt;
|-
|-
Line 111: Line 80:
| 13
| 13
| 6
| 6
| wind speed ([http://en.wikipedia.org/wiki/Beaufort_scale beaufort])
| wind speed as in 6 converted to force number ([http://en.wikipedia.org/wiki/Beaufort_scale beaufort])
| <#beaufortnumber>
| <#beaufortnumber>
|-
|-
Line 126: Line 95:
| 16
| 16
| hPa
| hPa
| pressure units - MB, hPa, in
| pressure units - mb, hPa, in
| &lt;#pressunit&gt;
| &lt;#pressunit&gt;
|-
|-
Line 141: Line 110:
| 19
| 19
| +0.1
| +0.1
| pressure trend value
| pressure trend value (The average rate of pressure change over the last three hours)
| &lt;#presstrendval&gt;
| &lt;#presstrendval&gt;
|-
|-
Line 176: Line 145:
| 26
| 26
| -0.7
| -0.7
| temperature trend value
| temperature trend value (The average rate of change in temperature over the last three hours)
| &lt;#temptrend&gt;
| &lt;#temptrend&gt;
|-
|-
Line 187: Line 156:
| 12:00
| 12:00
| time of today's high temp (hh:mm)
| time of today's high temp (hh:mm)
| &lt;#tTempTH&gt;
| &lt;#TtempTH&gt;
|-
|-
| 29
| 29
Line 201: Line 170:
| 31
| 31
| 37.4
| 37.4
| today's high wind speed (average)
| today's high wind speed [[Wind_measurement#Weather_Stations_and_Cumulus |(of average as per choice)]]
| &lt;#windTM&gt;
| &lt;#windTM&gt;
|-
|-
Line 241: Line 210:
| 39
| 39
| 1.8.7
| 1.8.7
| Cumulus version
| [[Cumulus Versions]] (the specific version in use)
| &lt;#version&gt;
| &lt;#version&gt;
|-
|-
Line 256: Line 225:
| 42
| 42
| 10.3
| 10.3
| heat index
| [[Heat index]]
| &lt;#heatindex&gt;
| &lt;#heatindex&gt;
|-
|-
| 43
| 43
| 10.5
| 10.5
| [http://en.wikipedia.org/wiki/Humidex humidex]
| [[Humidex]]
| &lt;#humidex&gt;
| &lt;#humidex&gt;
|-
|-
Line 291: Line 260:
| 49
| 49
| 3
| 3
| The number of the current forecast as per [[Strings.ini]]. If the forecast is not being provided by the station and not being generated by Cumulus a value of 0 (zero) is returned
| The number of the current (Zambretti) forecast as per [[Strings.ini]].
| &lt;#forecastnumber&gt;
| &lt;#forecastnumber&gt;
|-
|-
Line 321: Line 290:
| 55
| 55
| 12.3
| 12.3
| Apparent Temperature
| [[Apparent temperature]]
| &lt;#apptemp&gt;
| &lt;#apptemp&gt;
|-
|-
Line 336: Line 305:
| 58
| 58
| 1
| 1
| Is it sunny? 1 if the sun is shining, otherwise 0
| Is it sunny? 1 if the sun is shining, otherwise 0 (above or below [[Cumulus.ini_(Cumulus_1)#Section:_Solar |threshold]])
| &lt;#IsSunny&gt;
| &lt;#IsSunny&gt;
|}
|}


==Fields added with later releases of MX ==
= Example of the file =


Please be aware that MX develops very rapidly, and there is a lack of contributors to the Wiki, so the information here may be out of date.
''(this is one complete line, although it may appear on this page as two or more due to screen width restrictions)''


{| border="1" class="wikitable"
<br> <tt>18/10/08 16:03:45 8.4 84 5.8 24.2 33.0 261 0.0 1.0 999.7 W 6 mph C mb mm 146.6 +0.1 85.2 588.4 11.6 20.3 57 3.6 -0.7 10.9 12:00 7.8 14:41 37.4 14:38 44.0 14:28 999.8 16:01 998.4 12:06 1.8.2 448 36.0 10.3 10.5 13 0.2 14 260 2.3 3 1 1 NNW 2040 ft 12.3 11.1 420.1 1</tt>
|-
! style="width:60px" | Field number
! style="width:80px" | Example content
! style="width:450px" | Description
! style="width:180px" | Equivalent [[Webtags|web tag]].
|-
|59
| 13.6
| Feels Like (CMX v3.7.0 and later)
|&lt;#feelslike&gt;
|-
| 60
| 8.6
| Rain so far this week (CMX v4.3.0 and later)
| &lt;#rweek&gt;
|}


= Bandwidth Considerations =
= Recreating the file using webtags =
Most internet providers now place a limit on the amount of Bandwidth you can consume each month. Bandwidth is a figure representing the quantity of data you can upload and download. The various uploads done by Cumulus will have a huge impact on your allowance if you choose to upload at very frequent intervals.


* Sizing guidance for the legacy Cumulus (1) uploads:
Occasionally there is a requirement from some users to create a copy of the realtime.txt file and have it posted to a location at the normal Cumulus web update interval rather than the realtime interval.
** The "realtime.txt" file the is less than 1024 bytes in size, but for the calculation we will assume 1024 bytes, and typically this is (for non Fine Offset stations, see [[#Special note to Fine Offset/EasyWeather users]]) updated every 5 to 15 seconds depending on your [[#Enabling generation of this file in MX|'Realtime interval' setting]]. 1 kilobyte every 10 seconds represents 144 kB a day.
** Uploading [[FAQ#What_is_the_size_of_the_standard_Cumulus_update.3F|the realtime.txt plus the standard templates]] represents about 90 MB per day (based on uploading only every 10 minutes).


* Sizing guidance for MX uploads:
This can be achieved by creating a template file using the webtags below, and referencing this in the Cumulus Configuration|Internet|Files dialog. Ticking the 'Process?' checkbox, and supplying a remote filename will create this copy of the realtime.txt file.
** For Cumulus MX, the optional '''realtime.txt''' file is at least 262 bytes, (a lot of the content never changes, but if you have enabled generation and upload of this file, the whole file is uploaded every time), so still smaller than that 1024 bytes, and therefore still less than 1.5 MB a day even if uploaded every second.
** The [[SteelSeries Gauges]] web page is often supplied with data every second, (34 560 times a day), that represents a minimum of 110 MB per day, as the mandatory file '''realtimegaugesT.txt''' is 2.2 kiloBytes (kB).
** MX graph drawing uses assorted [[:Category:JSON_Files|*.json]] files which add up to several megabytes (MB) at every upload (compared against the highly compressed legacy Cumulus graph images of 400 kB per upload). So assuming these .json files are uploaded at the standard interval and that is set to 1 minute, just for graph plotting, MX requires a further 150 to 350 MB per day, this is dependent on various settings (e.g. data period represented on graphs, which graphs are being plotted).
** For the other web pages, the file concerned is [[websitedataT.json]] which is 31.5 kB, and if that is uploaded every minute, that adds about 50 MB a day.
** Don't forget that you may have files uploaded at end of day, you may be sending files to third party sites, to home automation, and be uploading [[MySqlConnect|SQL commands]], all these need to be multiplied by how often they are sent in a day, and then included in your calculation where relevant.


On top of your internet connection bandwidth restrictions, you may also have bandwidth caps on your database, or web, servers so this same figure should be considered for your various servers.
Note that the built-in realtime.txt always uses a 'dot' decimal character (as so is JavaScript/PHP 'safe'), the web tag version will use your host computers localisation for decimals. [There are some #RCxxx webtags available but they do not cover all the required values]
To ensure decimal compatibility across systems use a js construct such as:


var rt = realtime.split(" ");
var temp = +r[2].replace(',','.');


when referring to decimal values in the constructed file.


= Explaining the file =

Cumulus optionally generates this file, it represents one way that current Cumulus derivatives can be supplied to any [[:Category:User Contributions|third party additions]] you use, or your own external purposes.

Three examples taken from third party [[:Category:AddOns|addons]]:
* [[CumulusRealtime|developing real time]] functionality. This add-on is by the author of Cumulus, Steve Loft, and involves 2 extra wind graphics added at the bottom of the example 'gauges' page in the web template set produced by Cumulus 1, it was developed using [http://silverlight.net/ SilverLight] and uses data obtained by reading this file
* [[WeatherConsole]]
* [[Sidebar gadget]]

There are two key points to understand about the source for generation of the file:
#First is that a [[Cumulus template file]] is held internally in the Cumulus code that can generate this file with some standard content as [[#List of fields in the file|listed in table above]]
# Second is that this internal template, regardless of any locale (or region) settings, always generates the file so that it is readable by [[PHP#Incorporating_Script|script languages]] that expect a full stop to separate the integer part of any real number from the decimal part of that real number.

Information about the default generated file:
* As hinted above, the generation of the file requires you to set various options, see [[#Generation of this file]]
* There is no functionality, included in any Cumulus software that you download, that requires this file to exist
* The '''realtime.txt''' is generated as a text file with a single line of ''space'' separated values.
* The file contains a list of key values of the sensors
* The file is intended to be re-created frequently.
* The file is usually set to upload to your website, where it might be used as a source of near instant readings.
* The realtime.txt file will never contain any extreme records, nor any daily (or longer period) summaries, nor any historic data.

==Creating a customised real time file==

Some users, and some third-party supplied web pages, require fewer, or more, fields than those provided in the standard '''realtime.txt''' file.

Arranging this is easy, the content of a file, that Cumulus uploads to an external site for you, can be tailored to the needs of whatever you choose.

All you need to do is create your own [[Cumulus template file]], sometimes called ''realtime-xT.txt'' (to indicate it is an e''X''tra file, a ''T''emplate file and is related to ''realtime''.txt), you can place this file in the [[web folder]], and ask Cumulus to process that file for you:
* [[File:Badge v1.png]] Legacy software versions:
*# Create the template file picking the web tags you want to include from:
*#* If you use decimal commas, the list [[Webtags#CURRENT_CONDITIONS:|here]]
*#* If you use decimal points, the list [[Webtags#Current_Conditions|here]]
*# Arrange for the processing and uploading by using the Cumulus menu selections: '''Configuration''' &rarr; ''Internet'' &rarr; '''Files''' tab dialog. [[File:Cumulus Internet Settings Files.png|Right]]
*#* Type in the name you have used for your template file in ''Local Filename''
*#* Tick the ''Process?'' checkbox,
*#* Tick the ''Realtime?'' checkbox,
*#* Finally, supplying a remote path and filename that you want created remotely, you can call it "realtime.txt" after the path name if you like
* [[File:Badge vMx.png]] From build 3075 onwards, all decimal web tags now support the "rc=y" modification parameter.
*# Create the template file based on the list of web tags in the code snippet [[#MX web tags|below]]. If you are unsure what they represent, look [[Webtags#Current_Conditions|here]].
*# Arrange for the processing and uploading by using the '''Extra web files''' page in the [[MX_Administrative_Interface#Extra_Web_Files|interface]], follow the instructions in that link, [[File:Extra web settings.png|Right]] ticking the ''Process?'' checkbox, the ''Real Time?'' checkbox, and the '''UTF8''' checkbox (as shown in first row in image)


===MX web tags===
''(this is one complete line, although it may appear on this page as two or more due to screen width restrictions)''
''(this is one complete line, although it may appear on this page as two or more due to screen width restrictions)''


<tt>&lt;#date format=dd/mm/yy&gt; &lt;#timehhmmss&gt; &lt;#temp&gt; &lt;#hum&gt; &lt;#dew&gt; &lt;#wspeed&gt; &lt;#wlatest&gt; &lt;#bearing&gt; &lt;#rrate&gt; &lt;#rfall&gt; &lt;#press&gt; &lt;#currentwdir&gt; <#beaufortnumber> &lt;#windunit&gt; <#tempunitnodeg> &lt;#pressunit&gt; &lt;#rainunit&gt; &lt;#windrun&gt; &lt;#presstrendval&gt; &lt;#rmonth&gt; &lt;#ryear&gt; &lt;#rfallY&gt; &lt;#intemp&gt; &lt;#inhum&gt; &lt;#wchill&gt; &lt;#temptrend&gt; &lt;#tempTH&gt; &lt;#TtempTH&gt; &lt;#tempTL&gt; &lt;#TtempTL&gt; &lt;#windTM&gt; &lt;#TwindTM&gt; &lt;#wgustTM&gt; &lt;#TwgustTM&gt; &lt;#pressTH&gt; &lt;#TpressTH&gt; &lt;#pressTL&gt; &lt;#TpressTL&gt; &lt;#version&gt; &lt;#build&gt; &lt;#wgust&gt; &lt;#heatindex&gt; &lt;#humidex&gt; &lt;#UV&gt; &lt;#ET&gt; &lt;#SolarRad&gt; &lt;#avgbearing&gt; &lt;#rhour&gt; &lt;#forecastnumber&gt; &lt;#isdaylight&gt; &lt;#SensorContactLost&gt; &lt;#wdir&gt; <#cloudbasevalue> <#cloudbaseunit> &lt;#apptemp&gt; &lt;#SunshineHours&gt; &lt;#CurrentSolarMax&gt; &lt;#IsSunny&gt;</tt>
:<code><#date format=dd/mm/yy> <#timehhmmss> <#temp rc=y> <#hum> <#dew rc=y> <#wspeed rc=y> <#wlatest rc=y> <#bearing> <#rrate rc=y> <#rfall rc=y> <#press rc=y> <#currentwdir> <#beaufortnumber> <#windunit> <#tempunitnodeg> <#pressunit> <#rainunit> <#windrun rc=y> <#presstrendval rc=y> <#rmonth rc=y> <#ryear rc=y> <#rfallY rc=y> <#intemp rc=y> <#inhum> <#wchill rc=y> <#temptrend rc=y> <#tempTH rc=y> <#TtempTH> <#tempTL rc=y> <#TtempTL> <#windTM rc=y> <#TwindTM> <#wgustTM rc=y> <#TwgustTM> <#pressTH rc=y> <#TpressTH> <#pressTL rc=y> <#TpressTL> <#version> <#build> <#wgust rc=y> <#heatindex rc=y> <#humidex rc=y> <#UV rc=y> <#ET rc=y> <#SolarRad> <#avgbearing> <#rhour rc=y> <#forecastnumber> <#isdaylight> <#SensorContactLost> <#wdir> <#cloudbasevalue> <#cloudbaseunit> <#apptemp rc=y> <#SunshineHours rc=y> <#CurrentSolarMax> <#IsSunny> <#feelslike rc=y></code>

== Different interval or different file name ==

Occasionally there is a requirement from some users to create a copy of the realtime.txt file and have it posted to a location at the normal Cumulus web update interval rather than the real time interval, or perhaps because a filename other than realtime.txt is required.

Simply follow a variant on the instructions above.
* If you want the normal web update interval, don't tick the ''Realtime?'' checkbox.
* If you want a different filename, simply change what you put for ''Remote filename''.

=Generation of this file=

This is optional functionality, the default (in all flavours of Cumulus) is not to generate this file.

==Enabling generation of this file in MX==

The Settings pages of MX are being drastically rewritten as the software is developed.

Indeed the way of selecting generation of this file is due to change in the next release of MX as I type this, so specific instructions are not included here.

In general you need to make three selections:
# You need to enable the timer in MX that does actions at a real time interval.
# You need to configure (as a number of seconds) how frequently that timer triggers the actions
# You need to enable the file transfer (or if available, the copy) process that gets files uploaded onto an external (e.g. web) site
# You need to enable the generation of this specific file

==Enabling generation of this file in Cumulus 1==

The legacy screen that controls production of this file, is obtained by a click on the 'Configuration' menu then 'Internet', once the ''Internet Settings'' screen appears, you should be looking at the '''Sites/Options''' tab. That screen's original look (as Steve Loft included here) is in the larger image.

When he developed Cumulus 1 further, with two extra real-time boxes to tick to respectively, generate, and upload, the file, Steve Loft did not update the screen shots he included in this Wiki. [[Image:CumulusInternetSettingsScreen.png|Right]]

However, the smaller image (below) shows a later version of part of the original image;
[[File:Web settings.JPG|left]] and you will see the new set of three tick boxes in the lower part of that smaller image:
*The 'Realtime interval' sets how often Cumulus produces the file, to set that interval, set parameter labelled 'Realtime interval' by entering an integer number of seconds.
*Optionally the file can be uploaded to your [[Website_setup|externally-hosted web site]], if you want this (and it is usual) select all 3 selectors:
**Enable Realtime
**Enable Realtime FTP
**Realtime.txt FTP (Note in the smaller image this is not ticked, as not creating the file is the default)
*The uploading interval is the same as the file creation interval.

means that most of it gets very out of date, as MX is develo

= Special note to Fine Offset/EasyWeather users =

Weather stations which come shipped with the EasyWeather software should consider carefully how they use the real-time updating.

The station only updates every 48 (solar is only updated every 60) seconds, so aim for a real-time interval of around 30 seconds, that way a visitor knows not to expect updates too often but you also allow Cumulus to catch up to two updates within a minute (depending on when the first and second 48 second update came to Cumulus).


= Example of the file =

''(this is one complete line, although it may appear on this page as two or more due to screen width restrictions)''


<br> <tt>18/10/08 16:03:45 8.4 84 5.8 24.2 33.0 261 0.0 1.0 999.7 W 6 mph C mb mm 146.6 +0.1 85.2 588.4 11.6 20.3 57 3.6 -0.7 10.9 12:00 7.8 14:41 37.4 14:38 44.0 14:28 999.8 16:01 998.4 12:06 1.8.2 448 36.0 10.3 10.5 13 0.2 14 260 2.3 3 1 1 NNW 2040 ft 12.3 11.1 420.1 1 13.6</tt>
[[Category:Log_Files]]

Latest revision as of 08:17, 17 November 2024

Cumulus Version MX SpecificCumulus Version 1 SpecificThis Wiki page applies to both Cumulus flavours. This Wiki page describes one of the files that Cumulus can optionally generate.


List of fields in the file

The list below represents the field list for the final 1.9.4 version of Cumulus, (and releases of MX before 3.7.0).

For historic interest, old versions of Cumulus 1 had fewer fields; although the table does not indicate the version at which each field was added, you can click the History tab and look at the early edits.

Field number Example content Description Equivalent web tag.
1 19/08/09 Date as 2 figure day [separator] 2 figure month [separator] 2 figure year - the separator is that set in the windows system short date format (see setup) <#date>
2 16:03:45 time(always hh:mm:ss as per computer system) <#timehhmmss>
3 8.4 outside temperature <#temp>
4 84 relative humidity <#hum>
5 5.8 dewpoint <#dew>
6 24.2 wind speed (average) <#wspeed>
7 33.0 latest wind speed reading <#wlatest>
8 261 wind bearing (degrees) <#bearing>
9 0.0 current rain rate (per hour) <#rrate>
10 1.0 rain today <#rfall>
11 999.7 barometer (The sea level pressure) <#press>
12 W current wind direction (compass point) <#currentwdir>
13 6 wind speed as in 6 converted to force number (beaufort) <#beaufortnumber>
14 km/h wind units - m/s, mph, km/h, kts <#windunit>
15 C temperature units - degree C, degree F <#tempunitnodeg>
16 hPa pressure units - mb, hPa, in <#pressunit>
17 mm rain units - mm, in <#rainunit>
18 146.6 wind run (today) <#windrun>
19 +0.1 pressure trend value (The average rate of pressure change over the last three hours) <#presstrendval>
20 85.2 monthly rainfall <#rmonth>
21 588.4 yearly rainfall <#ryear>
22 11.6 yesterday's rainfall <#rfallY>
23 20.3 inside temperature <#intemp>
24 57 inside humidity <#inhum>
25 3.6 wind chill <#wchill>
26 -0.7 temperature trend value (The average rate of change in temperature over the last three hours) <#temptrend>
27 10.9 today's high temp <#tempTH>
28 12:00 time of today's high temp (hh:mm) <#TtempTH>
29 7.8 today's low temp <#tempTL>
30 14:41 time of today's low temp (hh:mm) <#TtempTL>
31 37.4 today's high wind speed (of average as per choice) <#windTM>
32 14:38 time of today's high wind speed (average) (hh:mm) <#TwindTM>
33 44.0 today's high wind gust <#wgustTM>
34 14:28 time of today's high wind gust (hh:mm) <#TwgustTM>
35 999.8 today's high pressure <#pressTH>
36 16:01 time of today's high pressure (hh:mm) <#TpressTH>
37 998.4 today's low pressure <#pressTL>
38 12:06 time of today's low pressure (hh:mm) <#TpressTL>
39 1.8.7 Cumulus Versions (the specific version in use) <#version>
40 819 Cumulus build number <#build>
41 36.0 10-minute high gust <#wgust>
42 10.3 Heat index <#heatindex>
43 10.5 Humidex <#humidex>
44 13 UV Index <#UV>
45 0.2 evapotranspiration today <#ET>
46 14 solar radiation W/m2 <#SolarRad>
47 260 10-minute average wind bearing (degrees) <#avgbearing>
48 2.3 rainfall last hour <#rhour>
49 3 The number of the current (Zambretti) forecast as per Strings.ini. <#forecastnumber>
50 1 Flag to indicate that the location of the station is currently in daylight (1 = yes, 0 = No) <#isdaylight>
51 1 If the station has lost contact with its remote sensors "Fine Offset only", a Flag number is given (1 = Yes, 0 = No) <#SensorContactLost>
52 NNW Average wind direction <#wdir>
53 2040 Cloud base <#cloudbasevalue>
54 ft Cloud base units <#cloudbaseunit>
55 12.3 Apparent temperature <#apptemp>
56 11.1 Sunshine hours so far today <#SunshineHours>
57 420.1 Current theoretical max solar radiation <#CurrentSolarMax>
58 1 Is it sunny? 1 if the sun is shining, otherwise 0 (above or below threshold) <#IsSunny>

Fields added with later releases of MX

Please be aware that MX develops very rapidly, and there is a lack of contributors to the Wiki, so the information here may be out of date.

Field number Example content Description Equivalent web tag.
59 13.6 Feels Like (CMX v3.7.0 and later) <#feelslike>
60 8.6 Rain so far this week (CMX v4.3.0 and later) <#rweek>

Bandwidth Considerations

Most internet providers now place a limit on the amount of Bandwidth you can consume each month. Bandwidth is a figure representing the quantity of data you can upload and download. The various uploads done by Cumulus will have a huge impact on your allowance if you choose to upload at very frequent intervals.

  • Sizing guidance for MX uploads:
    • For Cumulus MX, the optional realtime.txt file is at least 262 bytes, (a lot of the content never changes, but if you have enabled generation and upload of this file, the whole file is uploaded every time), so still smaller than that 1024 bytes, and therefore still less than 1.5 MB a day even if uploaded every second.
    • The SteelSeries Gauges web page is often supplied with data every second, (34 560 times a day), that represents a minimum of 110 MB per day, as the mandatory file realtimegaugesT.txt is 2.2 kiloBytes (kB).
    • MX graph drawing uses assorted *.json files which add up to several megabytes (MB) at every upload (compared against the highly compressed legacy Cumulus graph images of 400 kB per upload). So assuming these .json files are uploaded at the standard interval and that is set to 1 minute, just for graph plotting, MX requires a further 150 to 350 MB per day, this is dependent on various settings (e.g. data period represented on graphs, which graphs are being plotted).
    • For the other web pages, the file concerned is websitedataT.json which is 31.5 kB, and if that is uploaded every minute, that adds about 50 MB a day.
    • Don't forget that you may have files uploaded at end of day, you may be sending files to third party sites, to home automation, and be uploading SQL commands, all these need to be multiplied by how often they are sent in a day, and then included in your calculation where relevant.

On top of your internet connection bandwidth restrictions, you may also have bandwidth caps on your database, or web, servers so this same figure should be considered for your various servers.


Explaining the file

Cumulus optionally generates this file, it represents one way that current Cumulus derivatives can be supplied to any third party additions you use, or your own external purposes.

Three examples taken from third party addons:

  • developing real time functionality. This add-on is by the author of Cumulus, Steve Loft, and involves 2 extra wind graphics added at the bottom of the example 'gauges' page in the web template set produced by Cumulus 1, it was developed using SilverLight and uses data obtained by reading this file
  • WeatherConsole
  • Sidebar gadget

There are two key points to understand about the source for generation of the file:

  1. First is that a Cumulus template file is held internally in the Cumulus code that can generate this file with some standard content as listed in table above
  2. Second is that this internal template, regardless of any locale (or region) settings, always generates the file so that it is readable by script languages that expect a full stop to separate the integer part of any real number from the decimal part of that real number.

Information about the default generated file:

  • As hinted above, the generation of the file requires you to set various options, see #Generation of this file
  • There is no functionality, included in any Cumulus software that you download, that requires this file to exist
  • The realtime.txt is generated as a text file with a single line of space separated values.
  • The file contains a list of key values of the sensors
  • The file is intended to be re-created frequently.
  • The file is usually set to upload to your website, where it might be used as a source of near instant readings.
  • The realtime.txt file will never contain any extreme records, nor any daily (or longer period) summaries, nor any historic data.

Creating a customised real time file

Some users, and some third-party supplied web pages, require fewer, or more, fields than those provided in the standard realtime.txt file.

Arranging this is easy, the content of a file, that Cumulus uploads to an external site for you, can be tailored to the needs of whatever you choose.

All you need to do is create your own Cumulus template file, sometimes called realtime-xT.txt (to indicate it is an eXtra file, a Template file and is related to realtime.txt), you can place this file in the web folder, and ask Cumulus to process that file for you:

  • Badge v1.png Legacy software versions:
    1. Create the template file picking the web tags you want to include from:
      • If you use decimal commas, the list here
      • If you use decimal points, the list here
    2. Arrange for the processing and uploading by using the Cumulus menu selections: ConfigurationInternetFiles tab dialog. Right
      • Type in the name you have used for your template file in Local Filename
      • Tick the Process? checkbox,
      • Tick the Realtime? checkbox,
      • Finally, supplying a remote path and filename that you want created remotely, you can call it "realtime.txt" after the path name if you like
  • Badge vMx.png From build 3075 onwards, all decimal web tags now support the "rc=y" modification parameter.
    1. Create the template file based on the list of web tags in the code snippet below. If you are unsure what they represent, look here.
    2. Arrange for the processing and uploading by using the Extra web files page in the interface, follow the instructions in that link, Right ticking the Process? checkbox, the Real Time? checkbox, and the UTF8 checkbox (as shown in first row in image)


MX web tags

(this is one complete line, although it may appear on this page as two or more due to screen width restrictions)

<#date format=dd/mm/yy> <#timehhmmss> <#temp rc=y> <#hum> <#dew rc=y> <#wspeed rc=y> <#wlatest rc=y> <#bearing> <#rrate rc=y> <#rfall rc=y> <#press rc=y> <#currentwdir> <#beaufortnumber> <#windunit> <#tempunitnodeg> <#pressunit> <#rainunit> <#windrun rc=y> <#presstrendval rc=y> <#rmonth rc=y> <#ryear rc=y> <#rfallY rc=y> <#intemp rc=y> <#inhum> <#wchill rc=y> <#temptrend rc=y> <#tempTH rc=y> <#TtempTH> <#tempTL rc=y> <#TtempTL> <#windTM rc=y> <#TwindTM> <#wgustTM rc=y> <#TwgustTM> <#pressTH rc=y> <#TpressTH> <#pressTL rc=y> <#TpressTL> <#version> <#build> <#wgust rc=y> <#heatindex rc=y> <#humidex rc=y> <#UV rc=y> <#ET rc=y> <#SolarRad> <#avgbearing> <#rhour rc=y> <#forecastnumber> <#isdaylight> <#SensorContactLost> <#wdir> <#cloudbasevalue> <#cloudbaseunit> <#apptemp rc=y> <#SunshineHours rc=y> <#CurrentSolarMax> <#IsSunny> <#feelslike rc=y>

Different interval or different file name

Occasionally there is a requirement from some users to create a copy of the realtime.txt file and have it posted to a location at the normal Cumulus web update interval rather than the real time interval, or perhaps because a filename other than realtime.txt is required.

Simply follow a variant on the instructions above.

  • If you want the normal web update interval, don't tick the Realtime? checkbox.
  • If you want a different filename, simply change what you put for Remote filename.

Generation of this file

This is optional functionality, the default (in all flavours of Cumulus) is not to generate this file.

Enabling generation of this file in MX

The Settings pages of MX are being drastically rewritten as the software is developed.

Indeed the way of selecting generation of this file is due to change in the next release of MX as I type this, so specific instructions are not included here.

In general you need to make three selections:

  1. You need to enable the timer in MX that does actions at a real time interval.
  2. You need to configure (as a number of seconds) how frequently that timer triggers the actions
  3. You need to enable the file transfer (or if available, the copy) process that gets files uploaded onto an external (e.g. web) site
  4. You need to enable the generation of this specific file

Enabling generation of this file in Cumulus 1

The legacy screen that controls production of this file, is obtained by a click on the 'Configuration' menu then 'Internet', once the Internet Settings screen appears, you should be looking at the Sites/Options tab. That screen's original look (as Steve Loft included here) is in the larger image.

When he developed Cumulus 1 further, with two extra real-time boxes to tick to respectively, generate, and upload, the file, Steve Loft did not update the screen shots he included in this Wiki. Right

However, the smaller image (below) shows a later version of part of the original image;

Web settings.JPG

and you will see the new set of three tick boxes in the lower part of that smaller image:

  • The 'Realtime interval' sets how often Cumulus produces the file, to set that interval, set parameter labelled 'Realtime interval' by entering an integer number of seconds.
  • Optionally the file can be uploaded to your externally-hosted web site, if you want this (and it is usual) select all 3 selectors:
    • Enable Realtime
    • Enable Realtime FTP
    • Realtime.txt FTP (Note in the smaller image this is not ticked, as not creating the file is the default)
  • The uploading interval is the same as the file creation interval.
means that most of it gets very out of date, as MX is develo

Special note to Fine Offset/EasyWeather users

Weather stations which come shipped with the EasyWeather software should consider carefully how they use the real-time updating.

The station only updates every 48 (solar is only updated every 60) seconds, so aim for a real-time interval of around 30 seconds, that way a visitor knows not to expect updates too often but you also allow Cumulus to catch up to two updates within a minute (depending on when the first and second 48 second update came to Cumulus).


Example of the file

(this is one complete line, although it may appear on this page as two or more due to screen width restrictions)


18/10/08 16:03:45 8.4 84 5.8 24.2 33.0 261 0.0 1.0 999.7 W 6 mph C mb mm 146.6 +0.1 85.2 588.4 11.6 20.3 57 3.6 -0.7 10.9 12:00 7.8 14:41 37.4 14:38 44.0 14:28 999.8 16:01 998.4 12:06 1.8.2 448 36.0 10.3 10.5 13 0.2 14 260 2.3 3 1 1 NNW 2040 ft 12.3 11.1 420.1 1 13.6