nyuuzyou/wikis huggingface dataset:
Cumulus MX Local API

There are two methods of calling the Cumulus MX local API (note the web tag names are case sensitive just like normal):
== General API - HTTP GET == 
This provides a quick and simple method of getting data, you just provide the web tag names in the GET URL and MX returns a simple JSON string with the tag-name:tag-value pairs.
The tags are always returned with the default format. You can specify a special parameter "rc" (which must be the first URL parameter) to apply the usual remove commas format to all the tags.
eg.
http://localhost:8998/api/tags/process.json?temp&hum&dew
or
http://localhost:8998/api/tags/process.json?rc&temp&hum&dew
Which will return the following format string in the body...
 {"temp":"15.8","hum":"73","dew":"10.5"}
Note, ALL values are quoted as strings as it is difficult to know which are numeric and which are not.
== General API - HTTP POST ==
The POST method allows you to put whatever text you like in the request body - and include any web tags plus formatting you wish. The string returned will be exactly the same text with the tags substituted with data.
So you could send a simple comma separated list, or some JSON text, or XML, whatever.
eg.
http://localhost:8998/api/tags/process.txt
With a POST body text of..
 <#time format="yy/MM/dd hh:mm:ss">,<#temp>,<#RecentFeelsLike d=1>
would return...
 20/07/14 01:48:11,15.7,18.4
or
 {
 "DateTime:"<#time format="yy/MM/dd hh:mm:ss">",
 "OutsideTemp":<#temp>,
 "FeelsLikeYest":<#RecentFeelsLike d=1>
 }
would return...
 {
 "DateTime:"20/07/14 01:50:56",
 "OutsideTemp":15.7,
 "FeelsLikeYest":18.4
 }
== Predetermined Data ==
=== Graph Data ===
Cumulus MX will return graph data on request, it is formatted as JSON, please refer to this page API Graph Data
=== Records Data ===
Cumulus will return weather records on request, it is formatted as JSON, please refer to this page API Records Data
=== Today/Yesterday Data ===
Cumulus will return weather data on request, it is formatted as JSON, please refer to this page API Today/Yesterday Data
=== Extra Sensor Data ===
Cumulus will return weather data on request, it is formatted as JSON, please refer to this page API Extra Sensor Data
=== Reports Data ===
Cumulus will return NOAA reports on request, it is formatted as an array of strings. You can also request that Cumulus MX regenerate an NOAA report on demand, please refer to this page API NOAA Reports
=== Data Logs ===
Cumulus will return data from its log files on request. You can request data from...
* dayfile
* a monthly log file
* the extra sensors log file
* weather diary data
* a selection of current data
Please refer to this page API Data Logs
Category:Cumulus_MX
Cumulus Versions

== Cumulus MX - Current Version ==
The latest version release information can be found on this page:
Software downloads
Earlier releases since Cumulus MX came out of beta are to be found on support forum at within Cumulus MX Current sub-forum.
This is from time to time updated into this Wiki at Build 3050 onwards
The earlier beta build release information can be found on this page:
Cumulus MX Version 3.0.0 beta builds
== Cumulus 1 - Legacy Version ==
The final production version of Cumulus 1 (running in Windows for all supported weather stations) can be downloaded at v1.9.4 (build 1099) - 28 Nov 2014.
If you are an Instromet user, and your logger operates at 115200 baud, you should use build 1100 at special 1.9.4 build 1100.
If you are an Instromet user, and your logger operates at 19200 baud, you should use build 1101 at special 1.9.4 build 1101.
Change Log by release date of major versions:
* October 27, 2013 -- 1.9.4
* February 9, 2013 -- 1.9.3
* October 5, 2011 -- 1.9.2
* April 6, 2011 -- 1.9.1
* September 11, 2010 -- 1.9.0
* March 31, 2010 -- 1.8.9
* December 1, 2009 -- 1.8.8 
* June 26, 2009 -- 1.8.7
* April 14, 2009 -- 1.8.6
* February 12, 2009 -- 1.8.5
* December 21, 2008 -- 1.8.4
* November 20, 2008 -- 1.8.3
* October 20, 2008 -- 1.8.2
* October 4, 2008 -- 1.8.1
* September 24, 2008 -- 1.8.0
Details of some earlier versions are available via the official 'cumulus/changes.txt' file stored as part of Cumulus 1 installation, and available from File:Changes.zip. The first public release was on 27th January 2004. The release history between versions 1.2.5 and 1.5.1 was lost by Steve Loft, so if anyone has a copy, please post it either here or on the Cumulus support forum.
Currentconditions.txt

As of version 1.8.9 Build 907, Cumulus will look for the existence of the file 'currentconditions.txt' in the Cumulus folder.
If this file is found Cumulus will use it, update the Current Condition on the display of Cumulus and also use the value to update the <#currcond> Webtags#Current_Conditions
The file will be deleted once Cumulus has processed it, and updated it's display.
This features allows other tools to produce a Current Condition, write it to the file 'currentconditions.txt' and have Cumulus work with it.
=Example Format=
 Wet and Windy. Low cloud
Category: Log Files
Dansk (Danish)

Although Cumulus does not directly support languages other than English, the standard web templates have been translated where possible into Danish.
Thank you to Kurt Kjeldstrøm Pedersen for his assistance in the translation.
=Installation=
*Download and unzip this file.... https://cumuluswiki.org/files/DK-web.zip
*There will be six files extracted and these should replace the files in your Cumulus 'web' folder. 
*The next time Cumulus performs a web update your site will be in Danish.
Warning: If you upgrade your version of Cumulus these files will be replaced with the standard files so you will need to repeat the above process. If you make any customisation to these please take a backup before upgrading otherwise you will have lost your work.
=Example=
A static example is currently available here
=Version Control=
*1.1 First public release
Category:Other Languages
Data folder

=Explanation=
In all flavours of Cumulus, a data sub-folder is created (normally below the folder where the executable is stored) to hold files such as dayfile.txt and today.ini.
Category:Log Files Category:Cumulus Files
Please see :Category:Files_with_Comma_Separated_Values, :Category:Ini_Files, and Weather_Diary, for information if you are moving from Cumulus 1 to MX, or you want information about any files in this folder.
=Warning=
Warning applies to Cumulus 1.
If you did not read the readme.txt that is displayed when you run the installer (for original Cumulus software), you might make a mistake about where you install the software on your Windows PC. 
The read me text recommends that you install Cumulus 1 directly below the root on one of the drives (or partitions) on your Windows Personal Computer, as if you do that all the other files that Cumulus creates can be added in the same folder as the executable, or in sub-folders below it. 
This mistake is most common if the operating system is Windows Vista/Windows 7/Windows 8 (or one of the corresponding server versions of Windows). The mistake is to install Cumulus.exe inside the Program Files hierarchy. If you make this mistake, then all the sub-folders that Cumulus uses will be installed in C:\Users\[username]\AppData\Local\VirtualStore\Program Files\Cumulus, because Windows operating systems do not grant write access to C:\Program Files except during installing, and therefore divert all attempts while software is running to create files or write data into a virtual store within the Local sub-folder of the hidden (by default) application data, per user, area. Unfortunately, the executable cannot tell that has happened, and so still looks for folders below its own directory.
Data grabber

This is a summary of the Cumulus Data Grabber package by Mark Dunn
Full details in support forum with many screen shots.
Category:User Contributions
= Introduction =
This is a package providing a number of features:
#A screen that summarises all the weather information contained in the realtime.txt file that Cumulus can optionally create
#The screen shows the latest file in a frame beside the date and time shown in the record.
#The screen shows the latest forecast represented by a number in the file as words and icon.
#There is another frame that can show a number of views selected by tabs with charts. Beside it there is an option to export the charts.
#*The rain chart includes both actual rain tracking by blue line and a prediction line in red of when rain might fall
#*The wind bearing chart shows individual wind bearings 
#Other screens can be accessed by a menu providing various facilities including
#*varying the update interval
#*selecting how many attempts will be made to grab the file
#*setting email alerts for various alarm conditions, with reactivation every 5, 10, 15, 30, 45 or 60 minutes set individually for each weather condition monitored.
=Version History =
*1.6.4 - 19 Oct 2014 - adds configuration of reactivation times for email despatch
*1.6.3 - 20 Sept 2014 - major update of functionality
*1.6.2 - 29 June 2014 - increased language support, password hiding, and SSL option for emails
*1.6.1 - 21 June 2014 - this version was withdrawn, it attempted to implement secure email connections, but had problems
*1.6.0 - 1 May 2014 - introduced day and night icons based on field 50 in the realtime.txt
*1.5.9 - 20 Apr 2014 - added Jaques DesRoches icons and forecast to main screen
*1.5.8 - 15 March 2014 - added selection of northern or southern hemisphere, this modifies the way the arrows appear to designate High and Low pressure.
*1.5.7 - 8 Mar 2014 - prediction log files added, email alerts added
*1.5.6 - 11 Jan 2014 - Added rain rate description, changed generation of file names for saving charts
*1.5.5 - 22 Dec 2013 - various additional features
*1.5.4 - not released
*
Dayfileeditlog.txt

= The daily summary editor =
Cumulus maintains, in the 'data' sub-folder, a single dayfile.txt file. The last command in Edit menu is dayfile.txt. If you use this editor and select Create missing button then a new file, dayfileeditlog.txt, is created in the main folder where the Cumulus executable is stored. It logs what Cumulus calculates during this editing. Note if you use 'create missing' again, the file gets overwritten, so you may wish to rename any existing dayfileeditlog.txt file before you use the editor.
== List of fields in the dayfileeditlog.txt file ==
It will have one row for each date that is missing in the original dayfile.txt, but present in monthly log files. A row holds the fields listed here, including highs and lows of that (meteorological) day, calculated from looking at all the records in the Standard_log_files for that (meteorological) day, and the added rows are in chronological order (but without rows for any date that is in 'dayfile.txt').
== Content generation ==
Cumulus 'Create missing' makes no attempt to create values for 'highest hourly rainfall' but does the best it can with everything else. Normally, what is stored in dayfile.txt is based on every reading received from the weather station, but only the logged readings are available to put as values and timestamps in dayfileeditlog.txt and Cumulus has to assume that these have captured all extremes for each daily summary row it creates. Calculated values that involve a number of original observations (e.g. temperature and wind speed are needed to calculate wind chill) may be particularly sensitive to logging interval.
= Exiting the editor =
When you press OK, the records listed in dayfileeditlog.txt are inserted (from version 1.9.4) in correct chronological order position into dayfile.txt file. If you press Cancel, the dayfileeditlog.txt is retained, but the dayfile.txt file is left unchanged.
== Note ==
The dayfileeditlog.txt file can be used to see what would be inserted for calculated values like 'apparent temperature', that may not be available for some rows in your dayfile.txt file. However, to do this you need to follow this workaround deleting the incomplete rows in a temporary 'dayfile.txt' before running 'Create missing'. Since Cumulus only updates 'dayfile.txt' when it is doing a rollover, you can change file names or otherwise manipulate the file the editor will work on while leaving Cumulus running. Consequently, if only a few days are affected, you can follow a variant of the workaround where you press 'Cancel' on the unwanted 'temporary' (otherwise known as 'generated') 'file' and open in a text file viewer the dayfileeditlog.txt file instead to give you values to manually insert into the final 'dayfile.txt' in a second use of the Cumulus editor mentioned above instead of an external spreadsheet or other editor. 
Category:Log_Files
Default Website Development

==The default CMX website Development==
These section of the Wiki will enable you to get the latest information and resources for the alternative to the default CumulusMX public website.
===Alternative public website===
As part of the development process of the CumulusMX Interface, I have generated a new public website (with template pages) as an alternative to the one provided with CumulusMX.
This template builds on the development of the AI and introduces a number of features and/or improvements.
Full details of the alternative public website, including screenshots can be fond on my wiki together with comprehensive instructions on how to install, use and modify.
Its major change is that all configuration data is held in one place: the CMXConfig object, so you can set the location of your data, your NOAA reports and the menu just by editing one part of one file.
The menu has also been enhanced with some additional features while maintaining the single json structure of the original.
This site also comes with new themes (unfortunately not compatible with the AI or previous versions) that should be easier to modify for your own needs.
 Download the latest version here (Updated: (09:36 11 Feb 2025)) [Corrected missing 'at' on records pages]
You can view my site using the new default templates on Oaktree Weather .
====Amendments since last revision====
This is a full rebuild of the site.
==Installing==
Download the current zip file to you local machine and upload it to your web server.
*Unzip it in the same location as your existing site - it will not overwrite the existing pages
*:The new site uses .html pages whereas the existing default site uses .htm
*; If you visit your site without specifying a page you will be taken to the new template pages,
*;Specifying a page such as index.htm will display your old template pages.
*: Please clear your browser cache before viewing. 
===Your Own Pages===
 As with previous releases, the public website template also includes a template page.
The template.html page is provided to make it easier for you to add your own pages while retaining the look and feel of the website. The template page is called template.html.
Editing
The template page shows all the different column layouts that are available. These are:
 ax-column1, ax-column2, ax-column3, ax-column4, ax-column5 and ax-column6
: These will always try to display the indicated number of columns but as the screen becomes small will automatically collapse into fewer columns as appropriate.
:; If there are more panels than columns they will gracefully split onto additional rows while retaining their column settings.
:; Rows with fewer panels than columns will either stretch the remaining panels across the full width or distribute them centrally - this can be controlled by you.
For full details visit my wiki.
==Editing the website menu==
Please refer to my wiki for full details of the menu and how to edit it.
==Changing the Theme and Other Settings==
Please refer to my wiki for full information on configuring and setting up the alternative website.
Deutsch (German)

file:flag_Germany.GIF Although Cumulus does not directly support languages other than English, the standard web templates have been translated where possible into German.
Many thanks to Juergen Hausmann for his work on the translation.
=Installation=
*Download and unzip this file.... https://cumuluswiki.org/files/DE-web.zip
*There will be seven files extracted. Copy the six files ending '.htm' and replace the files in your Cumulus 'web' folder.
*If you are using Cumulus version 1.8.8 or higher you may also use the strings.ini file included in this zip and place it within your Cumulus application folder. This file includes translations for all the forecasts, moon phases, beaufort and pressure trends.
*The next time Cumulus performs a web update your site will be in German.
Warning: If you upgrade your version of Cumulus these files will be replaced with the standard files so you will need to repeat the above process. If you make any customisation to these please take a backup before upgrading otherwise you will have lost your work.
=Example=
A static example is currently available here 
=Version Control=
*1.2 strings.ini now included with German phrases -- thanks to Andreas Hess for this.
*1.1 Fix to 'trends' page, use of 'average' and 'Daily rainfall' labels now translates 
*1.0 First release
Category:Other Languages
Diary

== Introduction ==
 
__TOC__
Snow measurement has been part of Cumulus already for a long time but reporting has been more or less ignored. This module tries to fill that gap. That is especially important because the future will bring automated snowDepth measurement.
=== Dependency ===
The reporting of snowDepth is only dependent on data being entered in the database. This is done through the Edit=>Weather Diary menu choice in CMX. Without data in snow24h or snowDepth the menu choice in CumulusUtils will not appear and the Diary module will not result in output.
=== Translation/Language ===
There are some translatable strings in CUstringsxx.ini
== Operation ==
CumulusUtils must be run once with the command Diary or Website to create the required parameters in the section [Diary] in the inifile. 
If there is data in the diary.db in the data directory (through the edit menu choice of CMX or in future automatic laser input) there will be output and the menu choice in the website will be visible. 
The Diary can also be used as a module.
== Output ==
The output consists of :
#The module file (diary.txt) containing the code.
#The datafiles for the TableView with the names Diary<year>.txt. Year being the obvious, starting at the first data entered in the Diary.
#The data for the chart come from CumulusMX in the file alldailysnowdata.json which you need to upload (CMX menu: Internet Settings=>Interval Configuration=>Normal Interval Settings=>Daily Graph File Settings)
== Inifile Parameters ==
The Diary module has the following inifile parameters defining the colouring of the report (same as the NOAA reports):
 [Diary]
 ColorDiaryText=Black
 ColorDiaryBackground=#f9f8EB
The module also uses the and the (section general).
== Inner working ==
The command reads the diary.db and generates the report files and the code. 
No special algorithms.
Category:CumulusUtils
Diary.db

This is the file where MX stores its Weather Diary
=Introduction =
The weather diary is created specifically to record any snowfall, but as you can store a comment with any content, a number of Cumulus users are using it to record other entries that can be specific to a day (e.g. hailstorms), or indeed anything that might be recorded in a diary.
=Format=
The database uses SQLite format and a script to read this can be found in Weather Diary article.
==Content==
Each record has the following content:
* Date
*Time
** (In early releases, Mark set this to 00:00:00)
**In later releases, this is set to 01:00:00, to minimise time zone issues.
*Snow Falling (boolean)
*Snow Lying (boolean)
*Snow depth (unsigned decimal number)
*Entry (a text field for storing comments)
= Accessing MX diary outside MX =
The weather diary is stored in a sqLite database and that can be easily accessed by any ODBC software (e.g. Libre Office Base) and many other well known database software. It can also be accessed using PDO instructions in PHP Hypertext Preprocessor.
Here is an example in a PHP 7.3 (please note, this script will not work without changes for PHP 7.4, and PHP 8.x) script (modification of script available in File:Snow diary.zip) of accessing any one day ($rowMetDayStamp in yyyy-mm-dd format):
$diary 		= 'sqlite:' . $snowDiary; // Parameter to identify a SQLite database puts a prefix in front of file path
$dbhandle 	= new PDO($diary); // connect to db
if($dbhandle === false)
{
	$liteError = sqlite_last_error ($dbhandle );
	echo ' Error: ' . sqlite_error_string ($liteError);
}else{
	if($debug)	echo $lf . '============================' . $lf . 'Success, database ' . $diary . ' is open' . $lf;
	$queryRead = "SELECT ALL * FROM " . "'DiaryData'";
	$statement = $dbhandle -> query($queryRead);
	if($statement === false)
	{
		$liteError = sqlite_last_error ($dbhandle );
		echo ' Error: ' . sqlite_error_string ($liteError);
	}else{
		$jump = false;
		foreach ($statement as $row)
		{
			foreach($row as $key => $value )
			{
		[[MX_on_Linux#Editing_the_Weather_Diary]]		if($key == 'Timestamp')
				{
					$keyDate = substr($value, 0, 10);
				}
				if($keyDate != $rowMetDayStamp) break;
				 if($key == 'snowFalling') 	$falling 	= $value;
				if($key == 'snowLying') 		$lying 	= $value;
				if($key == 'snowDepth')		$depth 	= $value;
				if($key == 'entry')			$Entry 	= $value;
				$jump = true;
 		 }
 		if($jump)
			{
				$snowKnown = true;
				goto snowDone;
			}
		}
	}
}
==Editing==
Please see MX_on_Linux#Editing_the_Weather_Diary, although that applies to Linux devices a similar approach can be taken using Microsoft Windows.
Category:Cumulus Files
Category:Cumulus MX
Errorlogging

== Introduction ==
In case of problems there exists a Cumulusutils logfile where you can check for yourself or ask on the forum for help with the log file as attachment.
By default logging is on but it can be switched off by setting the parameter LoggingOn (section General) to false (see below in the parameter section).
Independent of the logfile is the console logging which is governed by the parameter NormalMessageToConsole.
Ftp logging is also independent and can be switched on/off by its own parameter (see section FTP)
== Operation ==
Logging requires no special commands or operation. 
For the configuration, see the Inifile parameters.
== Output ==
All logfiles are to be found in the directory utils/utilslog/ - which is automatically created if it does not exist - and they will have the name like: yyMMddHHmmcumulusutils.log which sorts easily alphabetically. That would be e.g. 2005271332cumulusutils.log. 
This gives the possibility to run CumulusUtils many times per day and if you find a problem later in one of the major runs at midnight, you still have that log. Logs will be kept for 2 days, giving you enough time to save the log you want to save. 
For the FTP uploads there is a logfile named: yyMMddHHmmFTPlog.txt. Activation of the FTP logging can be switched on or off independently.
== Inifile parameters ==
Errorlogging is governed by the following parameters:
 Section [General]
 LoggingOn=true | false (default: true)
 NormalMessageToConsole= true | false (default: true)
 TraceInfoLevel= Error | Warning | Info | Verbose | Off (default: Info)
 Section [FTP site]
 FtpLog=off (default: off)
Category:CumulusUtils