Realtime.txt: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
m (Minor restyling (taking out <br>, tidying bullets and headings)
Line 1: Line 1:
[[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)


= Introduction =
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.


[[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> Notes:


*'''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 re-created frequently.
*After creation, it is usually set to upload to your website and used to produce near instant readings.
*The realtime.txt file is NOT a log file and is constantly replaced. It does not therefore contain any historic data.
*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
*The 'interval' sets how often Cumulus produces the file, to set that interval, click on the 'Configuration' menu then 'Internet', then set parameter labelled 'Realtime interval' by entering an integer number of seconds.
*Optionally the file can be uploaded to your website, if you want this (and it is usual) select all 3 selectors:
**Enable Realtime
**Enable Realtime FTP
**Realtime.txt FTP
*The uploading interval is the same as the file creation interval.


<br>


= Special note to Fine Offset/EasyWeather users =
== Special note to Fine Offset/EasyWeather users ==
Weather stations which come shipped with the EasyWeather software should consider the realtime updating with care. The station only updates every 48 seconds, so aim for a realtime 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).


== Bandwidth Considerations ==
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)
The file Cumulus uploads 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) updated every 5 to 15 seconds depending on your 'Realtime interval' setting above.

<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.
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).
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.
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 =
= Where is the file used =


The realtime.txt is used by:
The realtime.txt is used by:
*the 2 wind graphics at the bottom of the standard 'gauges' page on the website produced by Cumulus

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


= Format of the file =
= List of fields in the file =


{| border="1" class="wikitable"
{| border="1" class="wikitable"
Line 51: Line 48:
| 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;
|-
|-
Line 340: Line 337:
|}
|}


= Example of the file =
== 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)''
''(this is one complete line, although it may appear on this page as two or more due to screen width restrictions)''
Line 346: Line 343:
<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>
<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>


= Recreating the file using webtags =
== 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.
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.

Revision as of 17:17, 10 September 2013

Introduction

CumulusInternetSettingsScreen.png

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 re-created frequently.
  • After creation, it is usually set to upload to your website and used to produce near instant readings.
  • 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 the file, to set that interval, click on the 'Configuration' menu then 'Internet', then set parameter labelled 'Realtime interval' by entering an integer number of seconds.
  • Optionally the file can be uploaded to your website, if you want this (and it is usual) select all 3 selectors:
    • Enable Realtime
    • Enable Realtime FTP
    • Realtime.txt FTP
  • The uploading interval is the same as the file creation interval.


Special note to Fine Offset/EasyWeather users

Weather stations which come shipped with the EasyWeather software should consider the realtime updating with care. The station only updates every 48 seconds, so aim for a realtime 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).

Bandwidth Considerations

The file Cumulus uploads 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) updated every 5 to 15 seconds depending on your 'Realtime interval' 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.

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:


List of fields in the file

Field # Example Description Equivalent Webtags
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) <#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 <#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 (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> <#temptrend> <#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>