Skip to content

Releases: cumulusmx/CumulusMX

Build 4067 - Version 4.3.2

18 Dec 14:08
Compare
Choose a tag to compare

New

  • Web tags now have the optional null value parameter nv=xxxx
    • This overrides the default string returned when the value is null or not available
    • The default for most web tags is a dashed value like "--"
    • Example, if extra temp sensor # 4 is missing <#ExtraTemp4> outputs "-" by default, but <#ExtraTemp4 nv=null> outputs "null", <#ExtraTemp4 nv=0> outputs "0"

Changed

  • Improvements to graph data creation when there are null values present. Affects Solar, UV, Indoor Temp/Hum, Extra Sensors
  • HTTP Files now correctly allows the custom entry <ecowittcameraurl>, other URLs can now contain web tags
  • Rain week was added to the Realtime file in v4.3.0 but not to the Realtime MySQL table. This version adds it to MySQL as well
    • You can use the 'Update Realtime' button on the MySQL Settings page to amend your existing realtime table.
    • Or there is a SQL script included to update existing Realtime MySQL tables with the new column: /MXtils/v4.3.2-AlterMySqlTables.sql
  • AI2 switching to default dashboard now opens the dashboard in the same tab

Fixed

  • Fix non-present indoor humidity values causing the dashboard gauges to fail
  • Indoor temperature in Select-a-period graphs show 10x value in comma decimal locales
  • Snow graphs now show all days from the first diary entry to present
  • Weather Diary database migration process updated
    • Databases migrated by v4.3.0 and v4.3.1 are now scanned for issues, and fixes automatically applied
  • Fix some errors parsing log file entries, affects load recent data, and graph files
  • Fix Unknown sensor errors in Ecowitt TCP API sensor info
  • Ecowitt historic catch-up average wind speed was being mishandled by MX = a lower value than reality

Build 4064 - Version 4.3.1

09 Dec 16:59
Compare
Choose a tag to compare

Changed

  • Add weekly rain (rweek) to websitedataT.json

Fixed

  • AWEKAS uploads fix to avoid frequent rate limiting messages
  • Ability to edit sunshine hours to two decimal palces in the log and day file editors
  • Fix recent Solar graph data bad format if solar or UV sensor data is null
  • Add check for CustomHttpXXX URLs to begin with http
  • Davis WLL change to avoid potential extension of 10 minute gust values when broadcasts are working
  • Bluesky variable timed posts not firing if no timed posts are defined
  • Snow graphs now show all days
  • Fix Rain Week calculation
  • Fix for LoadRecent failing if indoor sensors are absent
  • Fix for Tempest stations not reading historic data

Build 4063 - Version 4.3.0

04 Dec 17:16
64000f2
Compare
Choose a tag to compare

New

  • Adds Rain Week to the dashboard
    • There is also a new web tag <#rweek>
    • Configure the start-of-week day in Station Settings > Rainfall
  • Added displaying snowfall data on the dashboard and default web site
    • Enable display of snow data on the dashboard, default web site, and graphs in Display Options
    • New web tag <#Option_showSnow>
    • You will need to re-upload the default web site files for this:
      webfiles\historic.htm
      webfiles\js\historiccharts.js
  • New web tags for 9am High/Low temperatures
    <#temp9amTH>,<#Ttemp9amTH>
    <#temp9amTL>,<#Ttemp9amTL>
    <#temp9amRangeT>
    <#temp9amYH>,<#Ttemp9amYH>
    <#temp9amYL>,<#Ttemp9amYL>
    <#temp9amRangeY>
  • New web tags for dawn and dusk
    <#IsDawn>, <#IsDusk>
  • Added some validation to the fields in the log editors
  • The dashboard and default web site can now display Chill Hours charts
  • Initial support for the new Ecowitt WH54 LDS01 Laser Distance sensors, just sensor info/battery decoding for now as that is all that is documented
  • The JSON Station type can now be used to input Extra Sensor data.
    • This supports all the JSON Station input feed types: file watcher, HTTP POST, and MQTT
  • Adds calibration for Station pressure (and so also for Altimeter pressure)
    • Note: If you use the option for Cumulus to calculate sea level pressure, then this new station pressure calibration is the one that will applied to the SLP as well
  • Adds Bluesky posting to the Third Party uploads list
    • The content to be posted at fixed intervals is contained in the web/Bluesky.txt file, you can include all the usual web tags
    • A sample file is included in the web folder for you to edit web/BlueskySample.txt
    • Timed posts default to using the same Interval tempate file web/Bluesky.txt, but you can override this so posts at different time can have independent content
    • In the template file(s), you may use the following features:
      • Include web links using the syntax: https:\\my.site.com\page|Text for link|
      • Include hashtags using the normal #MyTagName
      • Include mentions using the normal @identifier
      • Attach images (max 4) to a post using the syntax: image:path_to_file|Alternative text|
        • The path_to_file can be either a local filesystem path, or a http url
        • Image formats supported: JPEG and PNG - it is best to post jpg images as Bluesky converts other formats to jpg and may alter them in the process
      • Cumulus will convert these to active links, tags, and mentions when posting the message
    • After editing the web/Bluesky.txt file, you must load it back into Cumulus by viewing the Third party uploads page where it will display the contents
  • Adds Bluesky posting from Alarms and User Alarms
    • Each alarm can have a different template file, but they all default to web/BlueskyAlarm.txt
    • A sample file is included in the web folder for you to edit web/BlueskyAlarmSample.txt
    • You can include the same features as the regular template above
    • In addition you can include the text |IncludeAlarmMessage| and this will include at the point the message that would be sent via email. These messages are editable in the Settings > Locale Strings page
    • Note: You must enable Bluesky and enter your Bluesky credentials in the Third Party Uploads settings, but you need not configure any Interval or Timed posts.
  • Adds support for the new Ecowitt Laser Distance Sensors to Ecowitt HTTP API and HTTP Station (Ecowitt) stations
    • Adds new web tags <#LaserDist1> - <#LaserDist4> and <#LaserDepth1> - <#LaserDepth4>
  • The upload.php script has been updated, it will now create the upload destination folder if it does not exist.

Changed

  • The extra sensors and the extra sensors log file now records null value values for absent readings. This will void logging spurious zero values at start-up
  • AirLinks and the AirLink log file now records null value values for absent readings. This will void logging spurious zero values at start-up
  • Indoor temperature and humidity now record null values
  • Solar Rad and UV-I now record null values
  • Removed NOT NULL requirements from the MySQL table definitions for Realtime, Monthly, and Dayfile
  • Efficiency improvements to all the "recent data" web tags
  • The Weather Diary has been revamped with revised fields to make it more useful
    • The existing Weather Diary database data is migrated to the new format on first run of v4.3.0
    • The Editor page gains a new "Export All" button to export your diary to CSV format
    • The Editor page gains a new "Upload File" button to re-import your exported CSV files
    • The Editor page now also has a Time field which defaults to the configured snow recording time, but you may override it
    • There is a new option to automatically create a snow depth record on your snow recording hour. This requires the connection of an Ecowitt WH54/LDS-01 sensor to your station
    • A new web tags <#snow24h> and <#snowcomment>
    • The web tag <#snowfalling> has been deprecated (it will return an empty string until it is removed)
    • A new daily graph data file alldailysnowdata.json
  • Chill Hours now allows you to define a base temperature, where chill hours are only counted if the temperature is < threshold AND > base
    • The base temperature defaults to -99 (°C or °F) to mimic the current behaviour where chill hours are counted if the temperature is just < threshold
    • Some cold stratification of seeds in the UK for instance only counts chill hours when it is between 1°C and 10°C
  • APRS/CWOP now sends the full "Ecowitt/Ambient/Tempest" station types
  • Revised US EPA PM2.5 AQI index to match February 2024 update
  • JSON station type now accepts laser distance measurements
  • Adds weekly rainfall to the end of the realtime.txt file
  • AWEKAS uploads to now increase the interval up to 10 minutes in the event of being rate limited
  • Dashboard Select-a-Period chart now defaults to a range of one month
  • Accessibility improvements to the Dashboard main menu
  • User Alarms:
    • You can now use multiple web tags and arithmetic operators in the data field
    • You now have the option of data Equals value type alarms as well as Above and Below
  • Changed Custom Alarms to User defined alarms in the dashboard menu
  • Reverts the change in v4.2.0 where External Programs sets the working directory to the location of the executable/script rather than the Cumulus MX home directory

Fixed

  • Fix error editing extra log file data when MySQL updates enabled
  • Lightning Time showing a 1900 date when no lightning has been detected
  • Suppress Tempest station TaskCancellation message to the console on shutdown
  • Ecowitt WH51 channels 9-16 decoding in HTTP API fixed(?) Still all undocumented by Ecowitt, sigh!
  • Improvements to Ecowitt latest firmware checking
  • Error message output processing historic Ecowitt AQI Combo PM10 data
  • SQLite exception loading duplicate dayfile entries
  • Fix for Davis WLL gust checking attributing gusts from the last minutes of the previous day to the current day
  • Fix low battery warning for old model Ecowitt WH40 sensors that do not send the battery status when using the Ecowitt HTTP Local API
  • Alarms: removes checks for File.Exists(Action) and traps FileNotFound exceptions instead
  • Fix for new installs registering the year-to-date rainfall as todays rainfall
  • Fix for alarm sounds not playing on main dashboard after the initial page load

Package Updates

  • MySqlConnector
  • SSH.NET
  • Sixlabors.ImageSharp
  • NReco.Logging.File
  • ServceStack.Text
  • Lots of System/Microsoft packages updated from v8.0 to v9.0

Build 4043 - Version 4.2.1

19 Oct 13:38
a1e9620
Compare
Choose a tag to compare

New

  • The web tag <#DayFileQuery> has been extended to allow "on this day" type queries.
    • Please read the separate documention (/MXutils/QueryDayFile.md) for more details
  • The web tag <#DayFileQuery> has been extended to add the optional parameter dateOnly=y
  • Please read the separate documention (/MXutils/QueryDayFile.md) for more details
    • The Daily Data Query page on the dashboard has also been extended to support "on this day" queries
  • Ecowitt TCP API station now supports the LowBatteryList web tag
  • Adds Brotli compression support to PHP uploads
    • Enabled via Internet Settings > Web/Upload Site > Advanced Settings
    • Using this option also requires PHP support for Brotli compression on your web server. Check this available before enabling this option
    • Also requires the latest version of upload.php to be uploaded to your web server
  • Two new web tags for wind speeds. These allow you to extract the average and gust speeds for custom intervals. If for example you have 10 minutes defined as your average and gust speed intervals in Cumulus,
    but you also want to see the two minute values then you can use these new tags
    • <#WindAvgCust m=N> - returns the average windspeed for the last N minutes
    • <#WindGustCust m=N> - returns the maximum gust value for the last N minutes
    • Note: You should not use values for m greater than around 20 minutes due to the limited storage time of 'live' wind values. This is station update rate dependent

Changed

  • The AQI web tag now returns a decimal value when using the Canada AQHI calculation

    To return to the previous behaviour of using integer values, set your Air Quality decimal places to zero in Station Settings > General Settings > Units > Advanced Options
  • The web tag <#CO2_pm10_24_aqih> has been corrected to <#CO2_pm10_24h_aqi>

    If you use this tag in any of your files please amend your files to match the corrected tag name
  • Clean-up of the AI2 pages for Interval and Daily Data viewers

Fixed

  • Interval data viewer not working over month ends for extra sensor values
  • Ecowitt TCP API Station, incorrect interpretation of Ecowitt WH34 sensor low battery state
  • Ecowitt TCP API Station, false detection of WS90 when a WH34 sensor was detected
  • Web tag <#ErrorLight> is now functional again. It is triggered if Latest Error has any text, and cleared when you clear the latest error list from the interface
  • Fix web tag <#NewBuildNumber> showing the latest build number as "0000"
  • Error when logging enabled at start-up with SFTP uploads
  • Windy pressure uploads failing
  • Fix Ecowitt WS69 battery state decode in TCP API station

Package Updates

  • SQLite
  • MailKit
  • System.Diagnostics.PerformanceCounter
  • System.ServiceProcess.ServiceController

Build 4042 - Version 4.2.1

16 Oct 19:32
b7fc0a1
Compare
Choose a tag to compare

New

  • The web tag <#DayFileQuery> has been extended to allow "on this day" type queries.
    • Please read the separate documention (/MXutils/QueryDayFile.md) for more details
  • The web tag <#DayFileQuery> has been extended to add the optional parameter dateOnly=y
  • Please read the separate documention (/MXutils/QueryDayFile.md) for more details
    • The Daily Data Query page on the dashboard has also been extended to support "on this day" queries
  • Ecowitt TCP API station now supports the LowBatteryList web tag
  • Adds Brotli compression support to PHP uploads
    • Enabled via Internet Settings > Web/Upload Site > Advanced Settings
    • Using this option also requires PHP support for Brotli compression on your web server. Check this available before enabling this option
    • Also requires the latest version of upload.php to be uploaded to your web server
  • Two new web tags for wind speeds. These allow you to extract the average and gust speeds for custom intervals. If for example you have 10 minutes defined as your average and gust speed intervals in Cumulus,
    but you also want to see the two minute values then you can use these new tags
    • <#WindAvgCust m=N> - returns the average windspeed for the last N minutes
    • <#WindGustCust m=N> - returns the maximum gust value for the last N minutes
    • Note: You should not use values for m greater than around 20 minutes due to the limited storage time of 'live' wind values. This is station update rate dependent

Changed

  • The AQI web tag now returns a decimal value when using the Canada AQHI calculation

    To return to the previous behaviour of using integer values, set your Air Quality decimal places to zero in Station Settings > General Settings > Units > Advanced Options
  • The web tag <#CO2_pm10_24_aqih> has been corrected to <#CO2_pm10_24h_aqi>

    If you use this tag in any of your files please amend your files to match the corrected tag name
  • Clean-up of the AI2 pages for Interval and Daily Data viewers

Fixed

  • Interval data viewer not working over month ends for extra sensor values
  • Ecowitt TCP API Station, incorrect interpretation of Ecowitt WH34 sensor low battery state
  • Ecowitt TCP API Station, false detection of WS90 when a WH34 sensor was detected
  • Web tag <#ErrorLight> is now functional again. It is triggered if Latest Error has any text, and cleared when you clear the latest error list from the interface
  • Fix web tag <#NewBuildNumber> showing the latest build number as "0000"

Package Updates

  • SQLite
  • MailKit
  • System.Diagnostics.PerformanceCounter
  • System.ServiceProcess.ServiceController

Build 4039 - Version 4.2.0

01 Oct 15:09
b31bdbd
Compare
Choose a tag to compare

4.2.0 [b4039] - 2024-10-01

New

  • New station type: Ecowitt Local HTTP API
    • Ecowitt Local HTTP API is an alternative the local TCP API used by the gateways and some stations
    • Currently it is slightly less capable than the TCP API, but does provide all the sensor values
    • Allows direct support of Ecowitt stations that do not support the TCP API and currently have to use the Custom HTTP Server mode
  • Exposes the UseDataLogger setting in Station Settings > Options > Advanced
  • Implements a new data viewer where you can select and view historic data from the monthly logs for a given period, for a set of data values. See: Data logs > Interval Data Viewer
  • Implements a new data viewer where you can select and view historic daily data from the day file for a given period, for a set of data values. See: Data logs > Daily Data Viewer
  • New web tag <#LowBatteryList> which returns the list of sensors/transmitters that have low batteries
    • The format is a comma separated list of sensor/transmitter IDs and battery states
    • Eg. "wh80-<state>,wh41ch1-<state>,wh41ch2-<state>"
    • Where <state> is "LOW" or "0" or "1" depending on what the sensor sends
  • New web tag <#MonthRainfall> which returns the rainfall total for the current month by default
    • Takes optional parameters y=YYYY and m=MM (both must be specified) to return the total rainfall for specified month in the specified year
    • Eg. <#MonthRainfall y=2018 m=10>
  • Support for Ecowitt WS90 piezo IsRaining status to trigger MX IsRaining.
    • Currently only supported with a WS90/WS85 connected to a GW2000 (Sept. 2024). This value is being added to more stations as they get firmware updates.
  • Two new web tags <#NewRecordAlarm> and <#NewRecordAlarmMessage>
    • NewRecordAlarm somewhat replicates the existing #newrecord web tag, but is also controlled by the alarm being enable/disabled
    • NewRecordAlarmMessage displays the last new record alarm text message
  • Old MD5 hash files are now deleted on startup
  • New web tag <#DayFileQuery> which allows flexible querying of the day file.
    • Please read the separate documention (/MXutils/QueryDayFile.md) for more details
  • Added a script /MXutils/linux/Fix_FineOffset_USB.sh to fix Fine Offset USB stations

Changed

  • Davis WLL/Davis Cloud stations now use the WL.com subscription level to determine if they use WL.com as a logger
  • The Station Settings screen now does a two-stage selection: First the manufacturer, then the station model. This shortens the long and list to select from.
  • AI2 dashboard now shows some Davis WLL hardware information
  • External Programs now sets the working directory to the location of the executable/script rather than the Cumulus MX home directory
  • Latest AI2 updates applied
  • Updates.txt is now CHANGELOG.md

Fixed

  • Davis Cloud stations in endless loop at startup if there is no historic data to process or access is denied
  • Davis Cloud stations no longer continuously try to fetch history data if there is no Pro subscription
  • WMR928 Station now correctly converts indoor temperatures to the user defined units
  • Not logging PHP upload failures to the warning log
  • Soil moisture units now follow the source
    • Example if you have a main station Davis with sensors 1 & 2, their units will be cb, and you have Ecowitt extra sensors 3 & 4, their units will be %
    • This does mean a change to the Units JSON and the graph scripts for the default web site. A re-upload of /js/cumuluscharts.js and /js/selectachart.js will be required
  • Fix Davis Cloud Station continually attempting to download history data on error
  • Fix a lurking problem with the today.ini and yesterday.ini files that has been there from day 0. Times are now stored as a full date/time
  • Fix crash in Ecowitt getting station firmware version in some circumstances

Package Updates

  • SQLite: Reverted to v2.1.8 pending fix from author
  • MQTTnet
  • FluentFTP
  • ServiceStack.Text
  • SixLabors.ImageSharp

Build 4028 - Version 4.1.3

20 Aug 19:17
e521632
Compare
Choose a tag to compare

New

  • New web tag <#stationId> which returns the internal station number used by CMX to determine the station type
  • For Davis WLL and WeatherLink Cloud stations you can now specify the station identifier using the stations UUID instead of the numeric Id. The UUID is simpler to find as it forms part of the URL of every web page related to your station on weatherlink.com

Fixed

  • The Cumulus MX version comparison with latest online at startup and daily
  • Fix CMX version check when no betas are available on GitHub repo
  • Davis Cloud Station can now accurately determine the current conditions update rate
  • Fix Davis WLL (and others) creating erroneous wind speed spike warnings
  • Alternative Interface 2 - Davis reception stats display incorrectly
  • Davis Cloud Station (VP2) now correctly displays the Davis ET values when "Cumulus calculates ET" is not enabled
    • Note: If "Cumulus calculates ET" is not enabled, the last hours ET every day, will be accumulated in the first hour of the following day
  • Davis WLL, and Davis Cloud stations, fixed a problem where the rollover would not be performed if historic data was not available and MX was stopped before the rollover and restarted after
  • Improved Ctrl-C shutdown of Cumulus MX for Davis VP2 stations when they are failing to connect with the station
  • Fix Ecowitt firmware check when running test firmware

Build 4027 - Version 4.1.2

23 Jul 14:50
010c67d
Compare
Choose a tag to compare

New

Changed

  • Daily backup now runs asynchronously to prevent it stopping MX continue to run

Fixed

  • Davis VP2 connection type being decoded from Cumulus.ini incorrectly
  • Add missing knots input to JSON station
  • Solar W/m2 should use superscript in dashboard
  • Cumulus Calculates SLP giving a spike on start-up with the following stations: Ecowitt Local API, Davis Cloud Station, Ecowitt Cloud Station, HTTP Ambient, HTTP Ecowitt
  • Add missing wind run units and extra space in humidity % in ai2 dashboard
  • Remove UV/Solar missing data messages from Davis Cloud (VP2)
  • A new version of MigrateData3to4 (1.0.3) to fix issues migrating the day file
  • Negative 0.0 appearing when no rainfall has occurred
  • Davis Cloud Station wind processing changed, instead of MX trying to calculate an average wind speed, MX now uses the wind speed data from Davis directly.
    The data rate from the cloud is not fast enough for the average to be calculated.

Dummy Beta Release

12 Aug 14:23
de21df5
Compare
Choose a tag to compare
Dummy Beta Release Pre-release
Pre-release

Testing purposes only

Build 4025 - Version 4.1.1

19 Jun 19:06
a062eba
Compare
Choose a tag to compare

4.1.1 - b4025
—————————————
Fixed

  • Davis VP2/Vue raincounter reset problems
  • Another raincounter reset issue that has been lurking
  • Wizard made Ecowitt API key and secret mandatory
  • Fix for FTP overwrite performing delete + create of remote file