Compare C1 and MX: Difference between revisions

m
Removal of much outdated information - another contributor needs to bring this page up to date
m (Removal of much outdated information - another contributor needs to bring this page up to date)
<div style="background: LemonChiffon;padding:5px; margin:2px;">
[[File:Crystal Clear info.png|40px]] The text on this page was written when Cumulus MX 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. That has invalidated most of the text on this page.
 
If any contributor is willing to update content, so it is more friendly for those using latest release, can they ensure this page is still helping those using older MX releases and the legacy Cumulus software.
</div>
=Introduction=
 
At the time of writing this text, 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 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.
 
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).
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 comparision 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).
 
[[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):
==Derivatives only available in original Cumulus==
 
 
[[File:This period.PNG|right]]Cumulus 1 (but not MX) calculates various 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)
 
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".
 
More information about all of these files can be accessed by following links on [[:Category:Log Files|Log Files index page]].
 
==Example Web Templates==
 
===Processed frequently===
 
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
 
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.
 
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===
 
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
 
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.
 
 
= 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.
 
 
= Tracking of when some legacy software features were added to MX =
= Enhancements during Beta stage for MX and after MX came out of beta =
 
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.
==From 3.7.0 onwards==
 
Focus is now on adding new functionality. A new contributor must research these and document them
 
[[Category:Cumulus 1]][[Category:Cumulus MX]]
5,838

edits