Realtime.txt
Although not technically a 'log file' it is automatically produced by Cumulus and follows a similar format to the other Log files.
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.
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.
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.
Notes:
- 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
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)
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.
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 SilverLight
- The WeatherConsole and Sidebar gadget addons
Format of the file
Field # | Example | Description | Equivalent Webtags |
---|---|---|---|
1 | 19/08/09 | date (always dd/mm/yy) | <#date> |
2 | 16:03:45 | time(always hh:mm:ss) | <#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 | <#press> |
12 | W | current wind direction (compass point) | <#currentwdir> |
13 | 6 | wind speed (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 | <#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 | <#temptrendval> |
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 (average) | <#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 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 | <#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 | <#IsSunny> |
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
Recreating the file using webtags
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.
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.
Note that the built-in realtime.txt always uses a 'dot' decimal character (and 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 = +rt[2].replace(',','.');
when referring to decimal values in the constructed file.
(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> <#hum> <#dew> <#wspeed> <#wlatest> <#bearing> <#rrate> <#rfall> <#press> <#currentwdir> <#beaufortnumber> <#windunit> <#tempunitnodeg> <#pressunit> <#rainunit> <#windrun> <#presstrendval> <#rmonth> <#ryear> <#rfallY> <#intemp> <#inhum> <#wchill> <#temptrendval> <#tempTH> <#TtempTH> <#tempTL> <#TtempTL> <#windTM> <#TwindTM> <#wgustTM> <#TwgustTM> <#pressTH> <#TpressTH> <#pressTL> <#TpressTL> <#version> <#build> <#wgust> <#heatindex> <#humidex> <#UV> <#ET> <#SolarRad> <#avgbearing> <#rhour> <#forecastnumber> <#isdaylight> <#SensorContactLost> <#wdir> <#cloudbasevalue> <#cloudbaseunit> <#apptemp> <#SunshineHours> <#CurrentSolarMax> <#IsSunny>