== Comparing Cumulus 1 and MX ==
This has also been moved to a separate article, so those not interested don't need to read [[Comparing Cumulus 1 and MX]].
(Essentially still as worded by Steve Loft)
Cumulus MX aims to be as compatible with Cumulus 1 as possible with 3 exceptions:
* Like Cumulus 2, MX separates:
*# the engine (reads weather station, calculates derivatives, creates web server for user interface, and sends updates to various external web sites), and the
*# administrative (shortened to admin hereafter) interface (displays basic information, allows you to vary settings, contains editors for highs and lows and for log files).
* Like Cumulus 2, MX runs on Linux and OS X as well as (like Cumulus 1) Windows.
* Like Cumulus 2, MX learns from some of the mistakes made in early part of design of Cumulus 1, that limited further development.
Because the development environment for Cumulus 1 is no longer available, it cannot have any extra functionality added. MX uses standard language C# (pronounced "C Sharp"), an object-oriented programming language created by Microsoft for use with the .NET Framework. It also works with Mono an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.
=== Features and functionality ===
Initially MX, as written by Steve Loft, [https://cumulus.hosiene.co.uk/viewtopic.php?f=27&t=13298#p104138 lacked a lot of features] that were available in Cumulus 1, but subsequent developments headed by Mark Crossley have now added the majority of the missing features. I am trying to get a list of Cumulus 1 features that are not in MX (or are implemented differently) in the forum at [https://cumulus.hosiene.co.uk/viewtopic.php?f=37&t=18159 Features in C1 that are not replicated in MX], so anyone contemplating the move knows what they will lose out on. Although MX now generates a Moon image, it does not generate all the chart images (replaced by graph drawing from json data) nor the wind images that Cumulus 1 generated.
There are also many features that have been added to MX that were '''either''' on the now lost list of enhancements for Cumulus 1 that never got implemented, '''or''' are extra functionality to reflect recent changes in weather station features. All quotes below are from the release notes issued by Steve or Mark. Only significant changes to functionality are noted below (for fixes see support forum for full release announcements). There is also version change information [[Cumulus_MX_formal_release_versions|here for MX 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:
<pre>[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</pre>
*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|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 [[Webtags#Using_HTML_tags_within_format_parameters_.28MX_only.29|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 ====
This release continues attempts to add some of the Cumulus 1 features that are missing from CMX.
** Build 3069 - Adds Editors for: Dayfile, Monthly Logs, Extra Logs
==== Version 3.5.0 ====
adds the generation of a Moon phase image, and the ability to push data to MQTT brokers.
==== Version 3.5.4 ====
Adds "Feel like temperature" as alternative to "apparent temperature"
=== Accessing Admin Interface ===
Cumulus 1 was an all in one application, it both read the data from the weather station and provided the user interface for you to see the derived data and change the settings. MX is different, it consists of a stand-alone 'engine' which performs the reading and logging of data, uploading to a web site etc. This 'engine' is a command-line/terminal/console application which has no user interface. The separate admin interface is provided by virtue of the engine acting as a web server.
When you successfully start MX, the engine is running until it is terminated. You can view the admin interface by typing the URL of the built-in web server into your browser, either on the same machine, or on a separate machine sharing the same local network. The default URL ''if the browser is on the same machine as MX'' is '''http://localhost:8998/'''.
If you are using the browser on a different device on your local network to the device running MX, you cannot use '''local host'''. Instead you specify a IPv4 address, that is listed in your '''router''' (might be called a '''hub''') for the device running MX, this IPv4 address will look like '192.168.y.z' (where y and z are numbers that vary between implementations).
Equally, if "localhost" is already in use for another web server (that you already run on your device), you will need to use the correct IPv4 address as above, even on the same device.
'''For security reasons, the admin interface should not be accessible via the public internet.'''
=== Operating Systems ===
MX runs on:
* Microsoft Windows operating system (Cumulus 1 only runs on this)
**To run MX on Windows, you need '''.NET''' installed which is included on Windows 7 upwards.
* Unix derivatives Linux and Mac OS X.
**To run MX on the additional platforms, it requires the '''Mono''' runtime, and you will need to install this
As mentioned in the comparison between Cumulus 1 and MX [[#Comparing_Cumulus_1_and_MX|section earlier]], Mono is the open source version of the propriety .Net. Both are sponsored by Microsoft.
=== Configuration, Log, and Web files ===
Both Cumulus 1 and MX both use the same basic files: [[Cumulus.ini]], [[dayfile.txt]], [[today.ini]], [[month.ini]], [[year.ini]], [[alltime.ini]], [[monthlyalltime.ini]], indexT.htm, todayT.htm, yesterdayT.htm, thismonthT.htm, thisyearT.htm. But there are differences in content in all these, and the web pages not mentioned there are totally different.
The configuration file Cumulus.ini has some differences between Cumulus 1 and MX, see that wiki page for more information, but essentially each flavour will ignore the parts they don't understand, and add the additional parts that they need but the other did not use.
While Cumulus MX can read the '''today.ini''' produced by Cumulus 1, you probably need to edit the date format in the date at the start of that file before Cumulus 1 can read a '''today.ini''' produced by MX. MX uses ISO format dates with year first, Cumulus 1 uses the date format defined on your PC system that might have year last. Look up in this wiki pages for the Log Files [[:Category:Log Files|index page]] or the individual file pages just referenced to see the differences between file content, and what you ''may'' need to edit to use Cumulus 1 files with MX.
Both Cumulus 1 and Cumulus MX supply a number of ''templates that are processed into web pages'', although the end produce web pages are (except for trends.htm) identical, '''the templates are not interchangeable'''. However, there are files that Cumulus 1 uses (for example it uses several image files for the trends web page and a weather diary in a XML file) that are not used by MX and also many files that MX creates (for example json files and a weather diary in a SQlite file) that were not part of Cumulus 1.
= Installing and Running Cumulus MX =
|