Compare C1 and MX: Difference between revisions

m
a few typos
m (a few typos)
 
(4 intermediate revisions by the same user not shown)
<div style="background: LemonChiffon;padding:5px; margin:2px;">
[[File:Crystal Clear info.png|40px]] The text on this page was written when Cumulus MX 3.0.0 beta offered a subset of the functionality that was available with the original Cumulus 1.
 
Since then MX has developed very quickly and its functionality is now vastly different. An attempt has been made to remove (apart from the Steve Loft section) MX information that no longer applies, and there is some attempt to document when the missing legacy functionality was added (but some, e.g select-a-chart, has not yet been documented).
 
If any contributor is willing to update content, then (as well as filling in gaps like select-a-graph) they should focus on documenting what MX does that the legacy software did not, in such a way it helps people wondering about the difference between MX releases and the legacy Cumulus software.
</div>
 
=Introduction=
 
At the time of writing this comparison, two flavours of software developed by Steve Loft were available for people to choose between.
At the time of writing this text, there are two flavours of software that was originally developed by Steve Loft. The original Cumulus software (now called Legacy Cumulus 1) is no longer capable of being developed any further, as neither its development environment, nor its source, are available now. There was a Cumulus 2, but it is no longer available, some of its functionality was subsequently added to Cumulus 1, and some of its concepts formed the basis for Cumulus 3 (now generally known as Cumulus MX).
 
The newcomer to the story is Cumulus 3, also known as MX. When this comparison was originally written, MX had very little functionality, the only real advantage was that MX could run on other devices, such as a [[Raspberry Pi computer page|Raspberry Pi computer]], that (unlike Microsoft Windows PCs) run reliably without rebooting themselves for mandatory updating.
 
The original Cumulus software (now called Legacy Cumulus 1) is no longer capable of being developed any further, as neither its development environment, nor its source, are available now. However, most people are still using it.
 
There was a Cumulus 2, but it is no longer available, some of its functionality was subsequently added to Cumulus 1, and some of its concepts formed the basis for Cumulus 3 (now generally known as Cumulus MX).
This page compares functionality between the original Cumulus software and the current Cumulus MX software. It is aimed at those who are using the original software, and are unsure whether to keep using Cumulus 1, or to make the swap to Cumulus MX.
 
When Steve Loft abandoned Cumulus to concentrate on enjoying his retirement (in a new home in France), he made the MX 3.0.0 beta source available, so that others could take on future development.
It is not intended to be a prompt list for features to be considered for future inclusion in MX.
 
AAs basica introductionresult, toMX thehas functionalitydiverged availablegreatly infrom boththat flavours oforiginal [[Cumulus software3 can(MX) bebeta founddocumentation|beta at [[About Cumulusfunctionality]]. that Thatwas explainsa somesubset of the background[[About toCumulus|legacy its development and whatCumulus functionality both flavours offer]].
 
= Overview comparing Cumulus 1 and MX =
 
Unfortunately, there is no list anywhere of all features in Cumulus 1. [[About_Cumulus|About_Cumulus does not cover all features]].
This is an overview, there will be further explanation later.
 
Unfortunately, there is no list anywhere of all features in Cumulus 1. [[About_Cumulus|About_Cumulus does not cover all features]]. Nor is there a list of features in, or still to be introduced into, MX. Thussince thisit sectionemerged isfrom neitherthe authoritativeSteve norLoft definitivebeta.
 
 
Thus this comparison is neither authoritative nor definitive.
 
== Cumulus 1 ==
*MX runs on multiple Operating Systems (OS).
**MX runs on all UNIX-derived OS (principally Linux, Raspberry Pi Operating System, Apple Mac OS X), but it needs '''Mono''' runtime software to support running of executables
** To run MX on Windows, you need .NET installed, which is included on Windows 7 upwards. (This does mean MX cannot run on Vista, XP, or older Windows OS).
*MX** releasesNeither .NET, nor Mono, are madecurrently available asfor aolder zipWindows containingOS, allso theMX filescannot inrun theon distributionVista, inXP, theiror hierachicother positionsversions.
*MX releases are made available as a zip containing all the files in the distribution in their hierarchical positions
**There are two executables included in a MX release
** The contents included in a MX release varies depending on release being installed
** The functionality of MX depends on the release being installed
**A pre-built image, combining the MX distribution, and a Raspberry Lite OS, is also made available by the developer, this is for those with 2 devices on their local network; who run their Raspberry Pi computer in headless mode, and do all setting-up via their second computer
**There are third party tools to aid installation, and [[Updating MX to new version|upgrade]], of MX
*Like Cumulus 2, the MX executable is just an engine to drive the various processes, but CumulusMX.exe generates a web server
*The web server generated by CumulusMX.exe runs the separate [[MX Administrative Interface|admin interface]] where you can adjust settings, and locally view all the data that MX outputs
* MX comes with an example set of [[Customised templates|web templates]] (showing how [[Webtags|Web tags]] can be used to add the weather outputspages that Cumulusyou generatesinstall toonto ayour web pageserver
** This is a different approach to that used in the legacy software as Cumulus 1 included [[Customised templates|web templates]] (showing how [[Webtags|Web tags]] can be used to add the weather outputs that Cumulus generates to a web page
*MX generates charts that you can view on the admin interface, and generates data for trends page that can be optionally uploaded to a web server (web site) where that data is used to draw charts.
** Instead MX uses a series of [[:Category:JSON Files|.JSON Files]] that it can upload to your web server containing the data for those web pages to display
* MX offers both [[Highcharts_-_Recent|recent charts]] and [[Highcharts_-_Historic|historic charts]].
** These can be viewed both locally in the interface, and on your web server
** Cumulus 1 generated images of charts, so it was images that got uploaded to your web server
** MX uses [[:Category:JSON Files|.json files]] to transfer the data, and Highstock software on the local interface server, and your web server, to draw charts based on that data.
*MX (except in early releases) has a full moon image and uses a system routine to create an image that correctly shows the current phase, updated at every hour, and optionally uploaded to your web server
*New functionality areas provided in MX include:
** Reading data from new weather station types, and new sensor types, even combining data from different sources
** Calculating new derived values (like feels like temperature)
** Automatically, updating a remote database, at real-time interval, standard logging interval, end of day, and during catch-up
** (There are more, but nobody has added them to list yet)
 
==Derivatives only available in original Cumulus==
 
MX provides the functionality to update a MariaDB, or MySQL, database. The Cumulus user can therefore run queries against that that replicate the functionality built into the legacy software (listed below), and many more statistics.
Comparing these two lists it is already obvious each of the two flavours has some features that are not available in the other. Some of the functionality listed above was not available in early releases. There is a section later on this page indicating which releases added certain functionality. Initially, there was an attempt to add some Cumulus 1 features that were not in the MX beta. But MX development is now largely focussed on resolving bugs (and there seem to be many in the beta) and adding new functionality (it might take a few releases before the new functionality is bug free).
 
There are no plans to add two useful Cumulus 1 (C1) features to MX:
*Select-a-graph (although both C1 and MX have control over what is plotted, C1 offers more control over period to be plotted than MX does)
*View Period (C1 allows a table summarising various derivatives to be output for any period from 1 day to all-time, MX pre-determines what period its tables cover, and as shown below omits several derivatives).
 
==Derivatives only available in original Cumulus==
 
 
[[File:This period.PNG|right]]Cumulus 1 (butcan notcalculate MX)the calculates variousfollowing additional parameters for any period from one day, through a month or year, to any number of days, in current or past years (you select start and end dates):
*Average temperature from all readings (at 1 minute intervals if Cumulus is left running) in period
*Average temperature from daily highest plus lowest in each day in period
*Number of days with snow falling
*Number of days with snow lying
*Number of dry days in any period (threshold set in settings, counts days in period below threshold)
*Number of wet days in any period
 
==Differences in way flavours calculate derivatives==
*humidity index (humidex)
 
==InterogationInterrogation of Weather Stations==
 
Cumulus MX has ability to work with every web station that the original Cumulus worked with, but it can also work with newer weather station hardware. The definitive list isshould be maintained on the [[Supported_Devices]] page.
 
Also, thereThere are some weather station specific differences between Cumulus 1 and MX for reading variables from the same weather station. As just one example, the original Cumulus has an error in the code for reading absolute pressure from a Fine Offset station and sometimes calculates the wrong value for sea-level pressure, this has been corrected in (all but earliest releases of) MX, meaning MX is more reliable, and more accurate, for use with those old models.:
# Information is obtained from Davis stations differently, that affects which Davis derived measurements are available to MX
# The way that MX communicates with Instromet stations has changed (now you just need correct settings), with the legacy software, you needed to select the right [[Cumulus_Versions#Cumulus 1 - Legacy Version|special build]]
# The original Cumulus has an error in the code for reading absolute pressure from a Fine Offset station and consequently sometimes calculates the wrong value for sea-level pressure, this has been corrected in (all but earliest releases of) MX, meaning MX is more reliable, and more accurate, for use with those old models.
 
=Files used by Cumulus=
 
It was mentioned above that '''[[Speciallog.txt]]''' is only generated by the original Cumulus. There are no plans for mXMX to generate this file.
 
There are some extra files that MX can generate like [[Air Link Log.txt]].
==Basic files used by both flavours===
 
==Basic files used by both flavours==
*Cumuluscumulus.ini (TheDespite configurationthe filename being same, the [[Cumulus.ini]] has(Cumulus some1)|file differencesused betweenby Cumulus 1]] and MX,the see[[Cumulus.ini|file thatused wikiby pageMX]] foronly morehave information,the butstructure essentiallyin eachcommon, flavourthe willcontent ignoreis thevery partsdifferent; theyin don'tfact understand,the andfirst addrun theof additional3.12.0 partsdeletes thatthe theyold needfile butand thecreates othera didbrand notnew use.file),
*today.ini (This [[Today.ini|file]] holds some derived values, and time-stamps; although both flavours use the same file structure, there are differences in the content. It is differences in the format of the date, at the start of the file, that stops the MX file being interchangableunderstood by 1.9.4,although MX can understand the 1.9.4 file),
*yesterday.ini (Again the [[Yesterday.ini|yesterday.ini]] file content is different for MX, but MX can read the 1.9.4 file)
*yesterday.ini,
*dayfile.txt (The number of fields changes at certain releases, see [[Dayfile.txt#List_of_fields_in_dayfile.txt|daily summary log page]], but also MX releases 3.7.0 onwards are more fussy about [[Amending_dayfile#Summary_for_most_common_problems|how fields are formatted]] and so the file is no longer interchangableinterchangeable between flavours)
*month.ini (This [[Month.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file),
*month.ini,
*year.ini (This [[Year.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file),
*year.ini,
*alltime.ini (This [[alltime.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file),
*alltime.ini,
*monthlyalltimelog.txt (same in both flavours)
*monthlyalltime.ini (This [[Month.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file)
*monthlyalltime.ini
*sample string.ini (The content of [[Samplestring.ini]] varies depending on release being installed
*sample string.ini
*strings.ini (optional [[Strings.ini|file]], its contents has to relate to the samplestring.ini for the release being installed)
 
 
 
 
= Key differences and similarities between Cumulus 1 and MX =
 
NOTE: This section is also based on Steve Loft's wording taken from the support forum with minimal alteration for its new context. Consequently, references to MX mean the 3.0.0 beta, not any MX release by Mark Crossley.
 
* While Cumulus 1 has a tool to generate graphs itself and then uploads them to your website, the graphs used in Cumulus MX are drawn when the end-user loads the web page, they use Highcharts routines that are free for non-commercial use only, i.e. you may not use MX with these graphs on a company web site.
* While Cumulus 1 runs as an application that includes a main screen, and other screens, that appear when you start it, Cumulus MX is two separate applications, there is the "engine" that connects to your weather station and processes that data, but there is also a separate administrative interface. The latter is viewed on a browser ''on any device connected to the same local network'' as the device that runs the engine. On this admin interface you change settings, you can edit the various logs, and you can view a series of web pages that allow you to see all the weather derivatives output from MX.
* The settings for both Cumulus 1 and MX are held in [[Cumulus.ini|'''Cumulus.ini''']]. For MX the file name is case sensitive [on non-Windows devices] and must have capitals where shown.
**The case sensitivity of MX [on all devices, even Windows,] also applies to the section names within the file e.g. [FTP site] must use capitals for the FTP and must use lower case for site. Edit any section names that do not follow format in the wiki article for this file referenced above.
**All the characters used within this configuration file must be within ASCII range (represented by binary 0 to 127, basically A to Z, a to z, 0 to 9, and some punctuation), any extended characters (such as those used for accented characters, symbols and non English characters) must be removed.
**Whilst many settings are common between both flavours, some are not used by MX and MX has some new ones. In particular if you used '''Port''' in Cumulus 1, that will not be carried across to MX, and you will need to set '''ComPort''' instead. You are advised to check all '''Settings''' using the MX admin interface.
*The contents of your Cumulus 1 '''Reports''' folder (NOAA style reports) can be read by MX.
*The contents of your Cumulus 1 '''data''' folder (log files ending with extension '''.ini''' or '''.txt''') can be read by MX.
**However, if you use decimal commas in your Cumulus 1 '.ini' files then you do need to change, in each stored value, the decimal commas into periods/full stops.
**MX when it needs to update these files will change the way dates are stored, see the [[:Category:Log Files|Log File]] pages in the Wiki for more information.
** The '.txt' files in the data folder will work with both Cumulus 1 and MX - assuming you are using the same decimal and list separators in MX as you used in Cumulus 1 (i.e. the same locale).
*The Cumulus 1 web templates (files using web tags) will not work with MX (whether you use the standard files provided or have written your own replacements)
**The reason is because the content of the standard web pages is different. For any web templates you have written, you will almost certainly need to change some web tags, and you may find this difficult because certain formatting characters (e.g. H or M) have different meanings when they appear in isolation in an output format to what they mean when combined with others (e.g.H:mm or 'd M'). See the [[Webtags]] page for full information on how to change these, and ask in the support forum if you have difficulty.
*(Other file names within MX will be as supplied in the zip that you download, or as Cumulus MX decides when it creates the file).
* The settings in Cumulus 1 and MX work differently, for Cumulus 1 you choose to save changes by clicking OK, for MX changes are only saved when you click a '''Save''' button if one is provided. If there is no Save button anywhere on the screen (as in Extra Web Files) then the setting is saved when you move to next field/line.
Finally if you are moving from Windows to Linux, remember you need to learn a host of new commands!
 
 
= Tracking of when some legacy software features were added to MX =
 
While MX was in beta, there was limited documentation about what features were included and why, there was some fault reporting and a tracking list that showed when some of those issues were fixed, also initially the documentation on how MX had implemented features it did have was very sparse. The lack of a list of features in Cumulus 1, meant it remains difficult to track which Cumulus 1 features are or are not implemented in MX. Steve Loft said parts of MX were simply machine code level copies of parts of Cumulus 1 functionality, and parts were trying to offer better functionality, but he never said what was included in these two categories.
 
There was a list of enhancements requested by users for Cumulus 1, but that list was deleted before work on MX started. Despite that, it does seem that some features that were on the now lost list of enhancements for Cumulus 1 that never got implemented in Cumulus 1, have been implemented in MX, although again there is no definitive documentation.
 
The documentation that does exist is the release notes issued by Steve or Mark. In the next few sections, an attempt is made to prećis such announcements to track when the basic functionality from Cumulus 1 made it into MX.
 
Of course weather station design evolves, and the sensors available vary. Thus another feature of MX development is adapting to new weather station dongles and new sensors (which obviously cannot be added to Cumulus 1). Once MX came out of beta, the changes in each release are being tracked in another [[Cumulus_MX_formal_release_versions|article]]. Obviously, you still need to look at the support forum for the detailed information in full release announcements about fixes, functionality changes, and actions needed to update to new major versions.
 
== Version 3.0.x ==
 
build 3023 - you can now control the output format of <#tomorrowdaylength> using an entry in strings.ini like this example:
 
[Solar]
MoreDaylightTomorrow=Il y aura {0} minutes {1} secondes plus la lumière du jour demain
LessDaylightTomorrow=Il y aura {0} minutes {1} secondes moins la lumière du jour demain
 
Build 3025 - new MySQL (6 options) and custom HTTP uploads (can invoke a PHP script) facilities
Also introduces a second pass to read archive records in catch up for Davis stations only
Debug logging, diagnostic data logging, and ftp logging can now be set in the UI
Changes for reading from Fine Offset and Davis stations
Improved console messages at start up to indicate whether station has been connected successfully
Makes sure dayfile.txt entry is always logged to MXdiags to help in case has problems writing file
'Stop second instance' option now implemented (there were problems with this, see later versions)
Graph periods can now be configured
 
build 3035 - archives the month.ini and year.ini file at the end of the month/year as monthYYYYMM.ini and yearYYYY.ini.
Build 3041 - Support for FTP over SSL/TLS (FTPS) - enable in Internet Settings
build 3046 - added weather diary database (Note the MX diary file is different to the Cumulus 1 diary file).
build 3047 - Web token parser updated to cope with html tag characters "<>" in the format string (see web tag page).
build 3049 - This build enables ability to upload data to Windy.com.
 
== Version 3.1.1==
 
This release is mainly part of my attempts to add some of the Cumulus 1 features that are missing from CMX.
 
build 3054 - Adds a Current Conditions editor and an All Time Records editor to admin interface
Build 3056 - Fix for the All Time Records editor
 
== Version 3.2.5==
 
adds editors for files that track extremes previously missing from MX
 
Build 3061 - that completes all the missing record editors from Cumulus 1
 
== Version 3.4.0==
 
The big change for this release is adding historic data "catch-up" for Davis WeatherLink Live devices.
 
Build 3064 - fixes bug in Monthly Records editor for dry/wet periods.
 
==Version 3.4.5==
The format used for dates in each of the extreme record files depends on whether the individual parameter was last updated by the original Cumulus (day, then month, then year) or by MX (ISO format with 4 digit year, then hyphen, then 2 digit month number, then hyphen, then 2 digit day of month number). This means MX can read both date formats, but Cumulus 1 can only read its date format. For time-stamps, MX uses date-time entries in the "2019-03-06T02:05:00" style, while the original Cumulus uses a format like "02/09/2008 04:00:45".
 
This release continues attempts to add some of the Cumulus 1 features that are missing from CMX.
More information about all of these files can be accessed by following links on [[:Category:Log Files|Log Files index page]].
 
Build 3069 - Adds Editors for: Dayfile, Monthly Logs, Extra Logs
==Example Web Templates==
 
== Version 3.5.0==
===Processed frequently===
 
adds the generation of a Moon phase image, and the ability to push data to MQTT brokers.
Both Cumulus 1 and Cumulus MX supply a number of templates that can be optionally processed into web pages.
*indexT.htm,
*todayT.htm,
*yesterdayT.htm,
*thismonthT.htm,
*thisyearT.htm.
The above templates have same filename for both flavours, but are not interchangeable. These templates use web tags that Cumulus has to processs to create the related web page, so the frequency of processing the template determines the frequency that it can be uploaded to show fresh information on your web server
 
== Version 3.5.4 ==
If you have edited a Cumulus 1 template, listed above, to customise what you see, you will have to start again with the equivalent MX template, and you will need to check information on the [[Webtags]] page, because any output formatters will either need to be changed, or perhaps added where modifiers were not needed before.
 
Adds "Feel like temperature" as alternative to "apparent temperature"
For Cumulus 1 only, there is one more template that needs to be updated frequently.
*gaugesT.htm (The gauges page provided with original Cumulus uses "Web Dashboard Components for FreeWX and FreeWX-Wi", plus Microsoft Silverlight tool)
 
===Processed just once===
 
==From 3.7.0 onwards==
The following template for original Cumulus software does not contain any variable data, so it only need to be processed once (to create heading), and optionally uploaded that one time.
*trendsT.htm
 
Focus is now on adding new functionality. A new contributor must research these and document them
The following MX templates do not contain any variable data, so they only need to be processed once (to create heading), and optionally uploaded that one time.
*trendsT.htm,
*gaugesT.htm (The gauges page provided with MX is based on Mark's implementation of steel series)
 
These two templates are totally different between flavours, this is because Cumulus generates locally some images containing graphs and gauges, then uploads those images, in constrast MX generates files containing data, that it can optionally upload so that the web page then uses that data to draw charts or gauges.
[[Category:Cumulus 1]][[Category:Cumulus MX]]
5,838

edits