Welcome to the Cumulus Support forum.

Latest Cumulus MX V4 release 4.4.2 (build 4085) - 12 March 2025

Latest Cumulus MX V3 release 3.28.6 (build 3283) - 21 March 2024

Legacy Cumulus 1 release 1.9.4 (build 1099) - 28 November 2014
(a patch is available for 1.9.4 build 1099 that extends the date range of drop-down menus to 2030)

Download the Software (Cumulus MX / Cumulus 1 and other related items) from the Wiki

If you are posting a new Topic about an error or if you need help PLEASE read this first viewtopic.php?p=164080#p164080

diagnostic settings

Discussion and questions about Cumulus weather station software version 1. This section is the main place to get help with Cumulus 1 software developed by Steve Loft that ceased development in November 2014.
BCJKiwi
Posts: 1259
Joined: Mon 09 Jul 2012 8:40 pm
Weather Station: Davis VP2 Cabled
Operating System: Windows 10 Pro
Location: Auckland, New Zealand
Contact:

diagnostic settings

Post by BCJKiwi »

Is there a list of all the various 'extra' switches that can be added to Cumulus1 / CumulusMX to assist with diagnostics?
Have used some of these in the past and have searched the Wiki and the Forum but can find no list of these switches.

A list of these with what they do and when to use them would be helpful.
(I am referring to the things like Logging=1)

I am seeing some intermittent disconnects (as seen by the Cumulus Gadget) and trying to get more information on what is happening.
With "Restart if Data Stops" turned on, there seems to be no indication in the logs that this restart has happened - but did it really happen or was it an issue with the gadget?
If Cumulus1 is unable to reconnect there is a long list of
date time : VP2: LoadCurrentVantageData_V, error = -32701
entries in the diags log.

I don't think the gadget is false reporting as the behavior changes with other changes to the setup.
The objective here is to sort out exactly what is going on so I can provide good information if I need further assistance!

Thanks
User avatar
steve
Cumulus Author
Posts: 26672
Joined: Mon 02 Jun 2008 6:49 pm
Weather Station: None
Operating System: None
Location: Vienne, France
Contact:

Re: diagnostic settings

Post by steve »

I can't think of any optional diagnostic settings in Cumulus other than setting debug logging on the menu (equivalent to setting Logging=1 in the ini file) and ftp logging. MX also has the DataLogging switch in the ini file. I listed the three settings in my additional 'Beta testing - PLEASE READ' post in the MX forum.
Steve
BCJKiwi
Posts: 1259
Joined: Mon 09 Jul 2012 8:40 pm
Weather Station: Davis VP2 Cabled
Operating System: Windows 10 Pro
Location: Auckland, New Zealand
Contact:

Re: diagnostic settings

Post by BCJKiwi »

Thanks,
Have turned on the Logging and LogFTPErrors options.

I thought there were a number of other things that have been mentioned from time to time - something to do with timing but maybe that was for IPonly?
BCJKiwi
Posts: 1259
Joined: Mon 09 Jul 2012 8:40 pm
Weather Station: Davis VP2 Cabled
Operating System: Windows 10 Pro
Location: Auckland, New Zealand
Contact:

Re: diagnostic settings

Post by BCJKiwi »

Following on from the above, I switched C1/MX around and the diags in MX give a bit more info. The extended USB setup is not stable and getting worse so have now abandoned that configuration. It has been instructive and prompts to make some suggestions. This discussion arises as the serial/USB LINK to the CONSOLE fails!

Have previously discussed the C1 option for restart if data stopped which is on your list of things to do for MX.
However, it is apparent from the MXdiags (see below) that MX does know when data is not being received.
When this happens, MX continues to process data as a flatline - i.e. last data value received - thus creating the illusion that everything is OK as new files are sent to the website but the data is unchanging.
It keeps logging this same repeating data to the mmmyylog.txt file.
This also means that on a restart, it does not read the archive data from the logger as MX thinks it is up to date.

Would it be feasible to at least stop processing and sending data when data stops, or, even shutting down MX?
At least that way we would become aware that data has stopped (various means available for checking this outside MX) and could then;
1. sort out the issue and restart.
2. recover as archive data would be read
3. be able to do 'catchup' to WU etc.

Thanks

Code: Select all

2015-04-25 05:47:36.814 !!! loop data not received
2015-04-25 05:47:36.814 Reading reception stats
2015-04-25 05:47:37.032 System.IO.IOException: A device attached to the system is not functioning.

   at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
   at System.IO.Ports.SerialStream.EndWrite(IAsyncResult asyncResult)
   at System.IO.Ports.SerialStream.Write(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
   at System.IO.Ports.SerialPort.Write(String text)
   at System.IO.Ports.SerialPort.WriteLine(String text)
   at .(SerialPort ) in c:\Users\steve\Documents\Visual Studio 2013\Projects\CumulusMX\CumulusMX\DavisStation.cs:line 1897
2015-04-25 05:47:37.032 0 0 0 0 0
2015-04-25 05:47:37.032 System.UnauthorizedAccessException: Access to the port is denied.
   at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
   at System.IO.Ports.InternalResources.WinIOError()
   at System.IO.Ports.SerialStream.DiscardInBuffer()
   at System.IO.Ports.SerialPort.DiscardInBuffer()
   at .(SerialPort ) in c:\Users\steve\Documents\Visual Studio 2013\Projects\CumulusMX\CumulusMX\DavisStation.cs:line 1956
System.UnauthorizedAccessException: Access to the port is denied.
   at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
   at System.IO.Ports.InternalResources.WinIOError()
   at System.IO.Ports.SerialStream.DiscardInBuffer()
   at System.IO.Ports.SerialPort.DiscardInBuffer()
   at .(SerialPort , String ) in c:\Users\steve\Documents\Visual Studio 2013\Projects\CumulusMX\CumulusMX\DavisStation.cs:line 579
   at .() in c:\Users\steve\Documents\Visual Studio 2013\Projects\CumulusMX\CumulusMX\DavisStation.cs:line 520
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
2015-04-25 05:49:00.229 *** Data input appears to have stopped
2015-04-25 05:50:00.057 *** Data input appears to have stopped
2015-04-25 05:50:00.057 Writing log entry for 25/04/2015 5:50:00 a.m.
2015-04-25 05:50:00.057 max gust: 0
2015-04-25 05:50:00.057 Written log entry for 25/04/2015 5:50:00 a.m.
2015-04-25 05:50:00.057 Writing today.ini, LastUpdateTime = 25/04/2015 5:50:00 a.m. raindaystart = 279.2 rain counter = 279.2
2015-04-25 05:51:00.898 *** Data input appears to have stopped
2015-04-25 05:52:00.726 *** Data input appears to have stopped
2015-04-25 05:53:00.553 *** Data input appears to have stopped
2015-04-25 05:54:00.380 *** Data input appears to have stopped
2015-04-25 05:55:00.207 *** Data input appears to have stopped
2015-04-25 05:55:00.207 Writing log entry for 25/04/2015 5:55:00 a.m.
2015-04-25 05:55:00.207 max gust: 0
2015-04-25 05:55:00.207 Written log entry for 25/04/2015 5:55:00 a.m.
2015-04-25 05:55:00.207 Writing today.ini, LastUpdateTime = 25/04/2015 5:55:00 a.m. raindaystart = 279.2 rain counter = 279.2
.
.
.
continues on until MX is restarted
.
.
.
User avatar
steve
Cumulus Author
Posts: 26672
Joined: Mon 02 Jun 2008 6:49 pm
Weather Station: None
Operating System: None
Location: Vienne, France
Contact:

Re: diagnostic settings

Post by steve »

BCJKiwi wrote:Would it be feasible to at least stop processing and sending data when data stops, or, even shutting down MX?
Yes, this is on the long list of future enhancements.
Steve
BCJKiwi
Posts: 1259
Joined: Mon 09 Jul 2012 8:40 pm
Weather Station: Davis VP2 Cabled
Operating System: Windows 10 Pro
Location: Auckland, New Zealand
Contact:

Re: diagnostic settings

Post by BCJKiwi »

OK, I guess I'll just shelve MX until this functionality is working.

I am happy to work with a system that does not auto restart but not with one that continues to run blind replicating old data.
water01
Posts: 3670
Joined: Sat 13 Aug 2011 9:33 am
Weather Station: Ecowitt HP2551
Operating System: Windows 10/11 64bit Synology NAS
Location: Burnham-on-Sea
Contact:

Re: diagnostic settings

Post by water01 »

This also means that on a restart, it does not read the archive data from the logger as MX thinks it is up to date.
If this error occurs I always stop C1/MX, recover the data files to latest full backup in the Backup folder and then restart C1/MX and reloads all logger data from the backup time to the reload point and thus you loose no data.

I can't see what your problem is with MX because C1 does exactly the same as MX and it as "future enhancement" for both versions, although now I guess it will be done to MX but not C1.
David
Image
User avatar
steve
Cumulus Author
Posts: 26672
Joined: Mon 02 Jun 2008 6:49 pm
Weather Station: None
Operating System: None
Location: Vienne, France
Contact:

Re: diagnostic settings

Post by steve »

David, the difference is that C1 has the 'restart if data stops' option, and MX currently only reports that data has stopped via the web tag. I do as you do and restart from a backup on the occasions where I have issues with my Raspberry Pi USB disconnecting, it's very easy to do, and not unreasonable for a product in beta test.

Eventually, I'll get around to doing something for 'data stopped' in MX, but if anyone decides that they no longer want to be a beta tester of an unfinished product because I don't prioritise the features that they personally demand, then of course they should stop being a beta tester. Threats are not necessary ;)
Steve
BCJKiwi
Posts: 1259
Joined: Mon 09 Jul 2012 8:40 pm
Weather Station: Davis VP2 Cabled
Operating System: Windows 10 Pro
Location: Auckland, New Zealand
Contact:

Re: diagnostic settings

Post by BCJKiwi »

No threats, simple statement of my position.

There is a fundamental difference between C1 and MX.
C1 will restart or stop when data stops. I have added the windows system beep to the Cumulus Gadget so I get an audible warning that data has stopped. There are a number of other ways to determine data has stopped - both at the PC level and at the website.
MX just keeps on going without any warning. Thus it can run for days continuing to post the same data to the website without any way to know this is happening unless you look at the interface or at the website. I can see no way to get any warning from MX.
If MX just stopped processing when it stopped receiving data then determining that outside of MX would be simple. That is what I was suggesting - not the full functionality that is already in C1.

So for the time being I will just continue with C1 as my live system as I have pretty much exhausted any other testing I can do in MX (except IP which will be done in a week or so - have just put my IP logger hardware under test in C1 and will leave that running for a time to ensure it is stable).
User avatar
steve
Cumulus Author
Posts: 26672
Joined: Mon 02 Jun 2008 6:49 pm
Weather Station: None
Operating System: None
Location: Vienne, France
Contact:

Re: diagnostic settings

Post by steve »

BCJKiwi wrote:If MX just stopped processing when it stopped receiving data then determining that outside of MX would be simple. That is what I was suggesting - not the full functionality that is already in C1.
I'm aware of that, and as I said, it is planned.
BCJKiwi wrote:I can see no way to get any warning from MX.
It sets the <#DataStopped> web tag. It also makes the value available via the websockets interface to the UI. The 'dashboard' page uses it to set the green/red up/down indicator.
Steve
User avatar
mcrossley
Posts: 14388
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: diagnostic settings

Post by mcrossley »

A simple batch file processed and invoked by Cumulus at the update/realtime interval...

Code: Select all

IF '<#DataStopped>'=='1' pskill CumulusMX.exe
You could add a restart too if you wanted. But the kill may leave files corrupt - though as it is being invoked by Cumulus after the processing it may be safe?

pskill is part of the System Internals utilities.
User avatar
steve
Cumulus Author
Posts: 26672
Joined: Mon 02 Jun 2008 6:49 pm
Weather Station: None
Operating System: None
Location: Vienne, France
Contact:

Re: diagnostic settings

Post by steve »

There's also taskkill, which is built in to Windows. It seems to do a clean shutdown (it sends a termination signal to the process).
Steve
User avatar
mcrossley
Posts: 14388
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: diagnostic settings

Post by mcrossley »

steve wrote:There's also taskkill, which is built in to Windows. It seems to do a clean shutdown (it sends a termination signal to the process).
Overlooking the blindingly obvious again! Yes that would be better.
BCJKiwi
Posts: 1259
Joined: Mon 09 Jul 2012 8:40 pm
Weather Station: Davis VP2 Cabled
Operating System: Windows 10 Pro
Location: Auckland, New Zealand
Contact:

Re: diagnostic settings

Post by BCJKiwi »

Thanks for that.

I'll work on that approach and see what I can achieve.
BCJKiwi
Posts: 1259
Joined: Mon 09 Jul 2012 8:40 pm
Weather Station: Davis VP2 Cabled
Operating System: Windows 10 Pro
Location: Auckland, New Zealand
Contact:

Re: diagnostic settings

Post by BCJKiwi »

OK,
Have something working.

Created a tag file consisting of

Code: Select all

SET _datastopped="<#DataStopped>"
This is processed in realtime and saved to the folder C:\CumulusMX\FTP (where I have the .cmd files for sending extra stuff at real, tag or daily times) as DataStopped.cmd.

The realtime.cmd file in this folder then contains

Code: Select all

:: ################# TASK KILL - CumulusMX.exe ############################
IF EXIST C:\CumulusMX\FTP\DataStopped.cmd CALL C:\CumulusMX\FTP\DataStopped.cmd
   IF %_datastopped% == "1" (
      taskkill /im CumulusMX.exe
      SET "_datastopped ="
      EXIT
   )
With a realtime interval of 15 seconds;
It takes around 2 minutes give or take a realtime interval to stop CumulusMX.exe
With logging=1 and DataLogging=1 this generates around 80Mb of log file in 2 minutes.

While testing files were created in GB sizes too big for notepad++ to handle!

It seems the shutdown is not always a graceful as it might be but no observable issues with the not-so-graceful shutdown so far.

Code: Select all

2015-04-26 15:28:59.742 System.InvalidOperationException: The port is closed.
.
.
.
   at .(SerialPort ) in c:\Users\steve\Documents\Visual Studio 2013\Projects\CumulusMX\CumulusMX\DavisStation.cs:line 1956
2015-04-26 15:30:42.056 0 0 0 0 0
2015-04-26 15:30:42.056 !!! Serial port closed
Exiting system due to external CTRL-C, or process kill, or shutdown
2015-04-26 15:30:42.060 Cumulus closing
2015-04-26 15:30:42.078 Writing Cumulus.ini file
2015-04-26 15:30:42.098 Closing connection
2015-04-26 15:30:42.098 Station stopped

Code: Select all

2015-04-26 15:32:41.663 System.InvalidOperationException: The port is closed.
.
.
.
   at .(SerialPort ) in c:\Users\steve\Documents\Visual Studio 2013\Projects\CumulusMX\CumulusMX\DavisStation.cs:line 1956
2015-04-26 15:34:30.965 0 0 0 0 0
2015-04-26 15:34:30.965 !!! Serial port closed
2015-04-26 15:34:30.965 !!! Serial port closed
2015-04-26 15:34:30.965 Reading reception stats
2015-04-26 15:34:30.987 Closing connection
2015-04-26 15:34:30.988 Station stopped
Also noticed that if MX is started without a connection to the Console, the dialog in the Dos box is not complete but there is no warning that it is not finding data and it does not connect if console is connected later where it will reconnect to the console if it the .exe has been running OK and not closed.
Post Reply