From 723184cf561b2db62676ef5a573009133ada067b Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Tue, 5 Jul 2022 19:27:48 +0100 Subject: [PATCH 01/11] Fix for dahsboard occasionally showing zero values when using Ecowitt Extra sensors --- CumulusMX/HttpStationEcowitt.cs | 6 +++--- CumulusMX/Properties/AssemblyInfo.cs | 6 +++--- CumulusMX/WeatherStation.cs | 13 +++++++------ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/CumulusMX/HttpStationEcowitt.cs b/CumulusMX/HttpStationEcowitt.cs index 79db362e..f560e5c4 100644 --- a/CumulusMX/HttpStationEcowitt.cs +++ b/CumulusMX/HttpStationEcowitt.cs @@ -876,10 +876,10 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } } - DoForecast(string.Empty, false); + thisStation.DoForecast(string.Empty, false); - UpdateStatusPanel(recDate); - UpdateMQTT(); + thisStation.UpdateStatusPanel(recDate); + thisStation.UpdateMQTT(); } catch (Exception ex) { diff --git a/CumulusMX/Properties/AssemblyInfo.cs b/CumulusMX/Properties/AssemblyInfo.cs index a1f6a69e..134bd394 100644 --- a/CumulusMX/Properties/AssemblyInfo.cs +++ b/CumulusMX/Properties/AssemblyInfo.cs @@ -6,7 +6,7 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Cumulus MX")] -[assembly: AssemblyDescription("Version 3.19.0 - Build 3191")] +[assembly: AssemblyDescription("Version 3.19.1 - Build 3192")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Cumulus MX")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.19.0.3191")] -[assembly: AssemblyFileVersion("3.19.0.3191")] +[assembly: AssemblyVersion("3.19.1.3192")] +[assembly: AssemblyFileVersion("3.19.1.3192")] diff --git a/CumulusMX/WeatherStation.cs b/CumulusMX/WeatherStation.cs index cf510eb4..a9f62087 100644 --- a/CumulusMX/WeatherStation.cs +++ b/CumulusMX/WeatherStation.cs @@ -1529,13 +1529,14 @@ internal async Task sendWebSocketData(bool wait = false) var ser = new DataContractJsonSerializer(typeof(DataStruct)); - var stream = new MemoryStream(); - - ser.WriteObject(stream, data); + using (var stream = new MemoryStream()) + { + ser.WriteObject(stream, data); - stream.Position = 0; + stream.Position = 0; - cumulus.WebSock.SendMessage(new StreamReader(stream).ReadToEnd()); + cumulus.WebSock.SendMessage(new StreamReader(stream).ReadToEnd()); + } // We can't be sure when the broadcast completes because it is async internally, so the best we can do is wait a short time Thread.Sleep(500); @@ -7205,7 +7206,7 @@ internal void UpdateStatusPanel(DateTime timestamp) } - protected void UpdateMQTT() + internal void UpdateMQTT() { if (cumulus.MQTT.EnableDataUpdate) { From 754d6262602cb8ad82857aacf8d4a2a1fbd1822e Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Tue, 5 Jul 2022 19:31:31 +0100 Subject: [PATCH 02/11] Fix for dashboard showing zero values when using Ambient extra sensors --- CumulusMX/DavisAirLink.cs | 4 ++-- CumulusMX/HttpStationAmbient.cs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CumulusMX/DavisAirLink.cs b/CumulusMX/DavisAirLink.cs index bb5f3451..c5c4892d 100644 --- a/CumulusMX/DavisAirLink.cs +++ b/CumulusMX/DavisAirLink.cs @@ -542,8 +542,8 @@ private void DecodeAlCurrent(string currentJson) cumulus.LogDebugMessage($"DecodeAlCurrent: {locationStr} - Found an unknown transmitter type [{type}]!"); break; } - //UpdateStatusPanel(DateTime.Now); - //UpdateMQTT(); + //station.UpdateStatusPanel(DateTime.Now); + //station.UpdateMQTT(); } catch (Exception exp) { diff --git a/CumulusMX/HttpStationAmbient.cs b/CumulusMX/HttpStationAmbient.cs index 61dfed59..8f830160 100644 --- a/CumulusMX/HttpStationAmbient.cs +++ b/CumulusMX/HttpStationAmbient.cs @@ -592,10 +592,10 @@ battrain Rain Gauge [0 or 1] } - DoForecast(string.Empty, false); + thisStation.DoForecast(string.Empty, false); - UpdateStatusPanel(recDate); - UpdateMQTT(); + thisStation.UpdateStatusPanel(recDate); + thisStation.UpdateMQTT(); } catch (Exception ex) { From feb0b4f0ce296bc6158d83a70613f1d75a1d436c Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Tue, 5 Jul 2022 23:01:16 +0100 Subject: [PATCH 03/11] Fix Sunshine Hours JSON format --- CumulusMX/WeatherStation.cs | 9 +++++---- Updates.txt | 7 +++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CumulusMX/WeatherStation.cs b/CumulusMX/WeatherStation.cs index a9f62087..e96ac6e4 100644 --- a/CumulusMX/WeatherStation.cs +++ b/CumulusMX/WeatherStation.cs @@ -10915,13 +10915,14 @@ public string GetSunHoursGraphData() var sunhrs = data[i].SunShineHours >= 0 ? data[i].SunShineHours : 0; sb.Append($"[{DateTimeToUnix(data[i].Date) * 1000},{sunhrs.ToString(cumulus.SunFormat, InvC)}],"); } + + // remove trailing comma + if (sb[sb.Length - 1] == ',') + sb.Length--; + sb.Append(']'); } - // remove trailing comma - if (sb[sb.Length - 1] == ',') - sb.Length--; - sb.Append('}'); return sb.ToString(); } diff --git a/Updates.txt b/Updates.txt index d67d54e4..2ad7ae1e 100644 --- a/Updates.txt +++ b/Updates.txt @@ -1,3 +1,10 @@ +3.19.1 - b3192 +—————————————— +Fixed +- Dashboard occasionally showing zero values when using Ecowitt/Ambient extra sensors with the extra HHTP feature +- Sunshine Hours graph data had badly formed JSON + + 3.19.0 - b3191 —————————————— Fixed From 371be89064bc5180d0854d28056d7bd2f8600da7 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Wed, 6 Jul 2022 09:32:38 +0100 Subject: [PATCH 04/11] Add tempMidnight ranges for today/yesterday --- CumulusMX/Api.cs | 6 +----- CumulusMX/FOStation.cs | 2 +- CumulusMX/webtags.cs | 13 +++++++++++++ Updates.txt | 6 +++++- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/CumulusMX/Api.cs b/CumulusMX/Api.cs index 6f88668a..644b2013 100644 --- a/CumulusMX/Api.cs +++ b/CumulusMX/Api.cs @@ -210,9 +210,6 @@ public async Task GetData(string req) try { - // read the last segment of the URL to determine what data the caller wants - var lastSegment = Request.Url.Segments.Last(); - var query = HttpUtility.ParseQueryString(Request.Url.Query); var date = query["date"]; var from = query["from"]; @@ -224,7 +221,7 @@ public async Task GetData(string req) using (var writer = HttpContext.OpenResponseText()) { - switch (lastSegment) + switch (req) { case "dayfile": await writer.WriteAsync(Station.GetDayfile(draw, start, length)); @@ -1112,7 +1109,6 @@ public async Task GenReports(string req) default: Response.StatusCode = 404; throw new Exception(); - break; } } } diff --git a/CumulusMX/FOStation.cs b/CumulusMX/FOStation.cs index 0443af6f..1ffb8b62 100644 --- a/CumulusMX/FOStation.cs +++ b/CumulusMX/FOStation.cs @@ -25,7 +25,7 @@ internal class FOStation : WeatherStation private int prevraintotal = -1; private int ignoreraincount; private DateTime previousSensorClock; - private DateTime previousStationClock; + //private DateTime previousStationClock; private DateTime previousSolarClock; private bool synchronising; //private DateTime lastraintip; diff --git a/CumulusMX/webtags.cs b/CumulusMX/webtags.cs index 32d7e5df..30bb2989 100644 --- a/CumulusMX/webtags.cs +++ b/CumulusMX/webtags.cs @@ -1608,6 +1608,12 @@ private string TagTtempMidnightTl(Dictionary tagParams) return GetFormattedDateTime(station.HiLoTodayMidnight.LowTempTime, "HH:mm", tagParams); } + private string TagtempMidnightRangeT(Dictionary tagParams) + { + return CheckRcDp((station.HiLoTodayMidnight.HighTemp - station.HiLoTodayMidnight.LowTemp), tagParams, cumulus.TempDPlaces); + } + + private string TagSolarTh(Dictionary tagParams) { return ((int)station.HiLoToday.HighSolar).ToString(); @@ -1974,6 +1980,11 @@ private string TagTtempMidnightYl(Dictionary tagParams) return GetFormattedDateTime(station.HiLoYestMidnight.LowTempTime, "HH:mm", tagParams); } + private string TagtempMidnightRangeY(Dictionary tagParams) + { + return CheckRcDp((station.HiLoYestMidnight.HighTemp - station.HiLoYestMidnight.LowTemp), tagParams, cumulus.TempDPlaces); + } + private string TagapptempYh(Dictionary tagParams) { return CheckRcDp(station.HiLoYest.HighAppTemp, tagParams, cumulus.TempDPlaces); @@ -5494,6 +5505,7 @@ public void InitialiseWebtags() { "TtempMidnightTH", TagTtempMidnightTh }, { "tempMidnightTL", TagtempMidnightTl }, { "TtempMidnightTL", TagTtempMidnightTl }, + { "tempMidnightRangeT", TagtempMidnightRangeT }, { "wchillTL", TagwchillTl }, { "TwchillTL", TagTwchillTl }, { "apptempTH", TagapptempTh }, @@ -5550,6 +5562,7 @@ public void InitialiseWebtags() { "TtempMidnightYH", TagTtempMidnightYh }, { "tempMidnightYL", TagtempMidnightYl }, { "TtempMidnightYL", TagTtempMidnightYl }, + { "tempMidnightRangeY", TagtempMidnightRangeY }, { "wchillYL", TagwchillYl }, { "TwchillYL", TagTwchillYl }, { "apptempYH", TagapptempYh }, diff --git a/Updates.txt b/Updates.txt index 2ad7ae1e..77fd9b9c 100644 --- a/Updates.txt +++ b/Updates.txt @@ -1,9 +1,13 @@ 3.19.1 - b3192 —————————————— Fixed -- Dashboard occasionally showing zero values when using Ecowitt/Ambient extra sensors with the extra HHTP feature +- Dashboard occasionally showing zero values when using Ecowitt/Ambient extra sensors with the extra HTTP station feature - Sunshine Hours graph data had badly formed JSON +New +- Added new midnight temperature range tags for today and yesterday + <#tempMidnightRangeT> <#tempMidnightRangeY> + 3.19.0 - b3191 —————————————— From 71a829b25ce0afac1dc8f6f0ae0454d46c8706c1 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Wed, 6 Jul 2022 16:02:57 +0100 Subject: [PATCH 05/11] Fine Offset station getting into a data read synchronisation loop when synchronisation fails. It will now give up after two attempts --- CumulusMX/Cumulus.cs | 148 +++++++++++++++++------------------- CumulusMX/FOStation.cs | 13 +++- CumulusMX/lib/FluentFTP.dll | Bin 341504 -> 342016 bytes Updates.txt | 1 + 4 files changed, 80 insertions(+), 82 deletions(-) diff --git a/CumulusMX/Cumulus.cs b/CumulusMX/Cumulus.cs index 64ab61d2..4f719fea 100644 --- a/CumulusMX/Cumulus.cs +++ b/CumulusMX/Cumulus.cs @@ -223,8 +223,6 @@ public struct TExtraFiles public string CurrentActivity = "Stopped"; - private static readonly TraceListener FtpTraceListener = new TextWriterTraceListener("ftplog.txt", "ftplog"); - public volatile int WebUpdating; public double WindRoseAngle { get; set; } @@ -1323,28 +1321,6 @@ public Cumulus(int HTTPport, bool DebugEnabled, string startParms) SetRealtimeSqlCreateString(); - if (FtpOptions.FtpMode == FtpProtocols.FTP || FtpOptions.FtpMode == FtpProtocols.FTPS) - { - if (FtpOptions.ActiveMode) - { - RealtimeFTP.DataConnectionType = FtpDataConnectionType.PORT; - } - else if (FtpOptions.DisableEPSV) - { - RealtimeFTP.DataConnectionType = FtpDataConnectionType.PASV; - } - - if (FtpOptions.FtpMode == FtpProtocols.FTPS) - { - RealtimeFTP.EncryptionMode = FtpOptions.DisableExplicit ? FtpEncryptionMode.Implicit : FtpEncryptionMode.Explicit; - RealtimeFTP.DataConnectionEncryption = true; - RealtimeFTP.ValidateAnyCertificate = true; - // b3045 - switch from System.Net.Ftp.Client to FluentFTP allows us to specify protocols - // b3155 - switch to default again - this will use the highest version available in the OS - //RealtimeFTP.SslProtocols = SslProtocols.Default | SslProtocols.Tls11 | SslProtocols.Tls12; - } - } - ReadStringsFile(); SetUpHttpProxy(); @@ -1981,20 +1957,15 @@ internal void ChangeWindUnits() public void SetFtpLogging(bool isSet) { - try - { - FtpTrace.RemoveListener(FtpTraceListener); - } - catch - { - // ignored - } - if (isSet) { - FtpTrace.AddListener(FtpTraceListener); + FtpTrace.LogToFile = "ftplog.txt"; FtpTrace.FlushOnWrite = true; } + else + { + FtpTrace.LogToFile = "false"; + } } @@ -2731,7 +2702,7 @@ internal void RealtimeTimerTick(object sender, ElapsedEventArgs elapsedEventArgs try { // Process any files - if (RealtimeCopyInProgress) + if (RealtimeCopyInProgress || RealtimeFtpInProgress) { LogMessage($"Realtime[{cycle}]: Warning, a previous cycle is still processing local files. Skipping this interval."); } @@ -2834,59 +2805,71 @@ await Task.Run(() => reinit = false; // Try to disconnect cleanly first - try + //TODO: Just bypassing this for now for FTP, if it works refactor to remove redundant code + if (FtpOptions.FtpMode == FtpProtocols.SFTP) { - LogMessage("RealtimeReconnect: Realtime ftp attempting disconnect"); - if (FtpOptions.FtpMode == FtpProtocols.SFTP && RealtimeSSH != null) + try { - RealtimeSSH.Disconnect(); + LogMessage("RealtimeReconnect: Realtime ftp attempting disconnect"); + if (FtpOptions.FtpMode == FtpProtocols.SFTP && RealtimeSSH != null) + { + RealtimeSSH.Disconnect(); + } + if (FtpOptions.FtpMode != FtpProtocols.SFTP && RealtimeFTP != null) + { + RealtimeFTP.UngracefullDisconnection = true; + RealtimeFTP.Disconnect(); + } + LogMessage("RealtimeReconnect: Realtime ftp disconnected"); } - if (FtpOptions.FtpMode != FtpProtocols.SFTP && RealtimeFTP != null) + catch (ObjectDisposedException) { - RealtimeFTP.Disconnect(); + LogDebugMessage($"RealtimeReconnect: Error, connection is disposed"); + } + catch (Exception ex) + { + LogDebugMessage($"RealtimeReconnect: Error disconnecting from server - {ex.Message}"); + } + finally + { + if (FtpOptions.FtpMode != FtpProtocols.SFTP && RealtimeFTP != null) + RealtimeFTP.UngracefullDisconnection = false; } - LogMessage("RealtimeReconnect: Realtime ftp disconnected"); - } - catch (ObjectDisposedException) - { - LogDebugMessage($"RealtimeReconnect: Error, connection is disposed"); - } - catch (Exception ex) - { - LogDebugMessage($"RealtimeReconnect: Error disconnecting from server - {ex.Message}"); - } - // Attempt a simple reconnect - try - { - LogMessage("RealtimeReconnect: Realtime ftp attempting to reconnect"); - if (FtpOptions.FtpMode == FtpProtocols.SFTP) + // Attempt a simple reconnect + try { - RealtimeSSH.Connect(); - connected = RealtimeSSH.ConnectionInfo.IsAuthenticated; + LogMessage("RealtimeReconnect: Realtime ftp attempting to reconnect"); + if (FtpOptions.FtpMode == FtpProtocols.SFTP) + { + RealtimeSSH.Connect(); + connected = RealtimeSSH.ConnectionInfo.IsAuthenticated; + } + else + { + RealtimeFTP.Connect(); + connected = RealtimeFTP.IsConnected; + } + LogMessage("RealtimeReconnect: Reconnected with server (we think)"); } - else + catch (ObjectDisposedException) { - RealtimeFTP.Connect(); - connected = RealtimeFTP.IsConnected; + reinit = true; + LogDebugMessage($"RealtimeReconnect: Error, connection is disposed"); + } + catch (Exception ex) + { + reinit = true; + LogDebugMessage($"RealtimeReconnect: Error reconnecting ftp server - {ex.Message}"); + if (ex.InnerException != null) + LogDebugMessage($"RealtimeReconnect: Base exception - {ex.GetBaseException().Message}"); } - LogMessage("RealtimeReconnect: Reconnected with server (we think)"); - } - catch (ObjectDisposedException) - { - reinit = true; - LogDebugMessage($"RealtimeReconnect: Error, connection is disposed"); } - catch (Exception ex) + else { reinit = true; - LogDebugMessage($"RealtimeReconnect: Error reconnecting ftp server - {ex.Message}"); - if (ex.InnerException != null) - LogDebugMessage($"RealtimeReconnect: Base exception - {ex.GetBaseException().Message}"); } - - // Simple reconnect failed - start again and reinitialise the connections // RealtimeXXXLogin() has its own error handling if (reinit) @@ -6578,7 +6561,7 @@ private void ReadStringsFile() public DateTime defaultRecordTS = DateTime.MinValue; public string WxnowFile = "wxnow.txt"; private readonly string RealtimeFile = "realtime.txt"; - private readonly FtpClient RealtimeFTP = new FtpClient(); + private FtpClient RealtimeFTP; private SftpClient RealtimeSSH; private volatile bool RealtimeFtpInProgress; private volatile bool RealtimeCopyInProgress; @@ -8770,7 +8753,7 @@ public void LogFtpMessage(string message) LogMessage(message); if (FtpOptions.Logging) { - FtpTraceListener.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); + FtpTrace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); } } @@ -8779,7 +8762,7 @@ public void LogFtpDebugMessage(string message) if (FtpOptions.Logging) { LogDebugMessage(message); - FtpTraceListener.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); + FtpTrace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); } } @@ -9490,6 +9473,7 @@ public void RealtimeFTPDisconnect() else if (RealtimeFTP != null) { RealtimeFTP.Disconnect(); + RealtimeFTP.Dispose(); } LogDebugMessage("Disconnected Realtime FTP session"); } @@ -9501,10 +9485,20 @@ public void RealtimeFTPDisconnect() private void RealtimeFTPLogin() { + // dispose of the previous FTP client + if (RealtimeFTP != null && !RealtimeFTP.IsDisposed) + { + RealtimeFTP.Dispose(); + } + + RealtimeFTP = new FtpClient(); + //RealtimeTimer.Enabled = false; RealtimeFTP.Host = FtpOptions.Hostname; RealtimeFTP.Port = FtpOptions.Port; RealtimeFTP.Credentials = new NetworkCredential(FtpOptions.Username, FtpOptions.Password); + RealtimeFTP.SocketPollInterval = 20000; // increase beyond the timeout values + RealtimeFTP.EnableThreadSafeDataConnections = false; // use same connection for all transfers if (FtpOptions.FtpMode == FtpProtocols.FTPS) { @@ -9546,8 +9540,6 @@ private void RealtimeFTPLogin() LogMessage($"RealtimeFTPLogin: Error connecting ftp - {ex.Message}"); RealtimeFTP.Disconnect(); } - - RealtimeFTP.EnableThreadSafeDataConnections = false; // use same connection for all transfers } //RealtimeTimer.Enabled = true; } diff --git a/CumulusMX/FOStation.cs b/CumulusMX/FOStation.cs index 1ffb8b62..e6e9c551 100644 --- a/CumulusMX/FOStation.cs +++ b/CumulusMX/FOStation.cs @@ -28,6 +28,7 @@ internal class FOStation : WeatherStation //private DateTime previousStationClock; private DateTime previousSolarClock; private bool synchronising; + private int synchroniseAttempts; //private DateTime lastraintip; //private int raininlasttip = 0; //private readonly double[] WindRunHourMult = {3.6, 1.0, 1.0, 1.0}; @@ -853,8 +854,10 @@ private void GetAndProcessData() if ((DateTime.Now - FOSensorClockTime).TotalDays > 1) { // (re)synchronise data reads to try to avoid USB lock-up problem - - StartSynchronising(); + if (synchroniseAttempts <= 2) + { + StartSynchronising(); + } } else { @@ -1295,6 +1298,7 @@ private void GetAndProcessData() private void StartSynchronising() { + synchroniseAttempts++; previousSensorClock = FOSensorClockTime; //previousStationClock = FOStationClockTime; previousSolarClock = FOSolarClockTime; @@ -1313,6 +1317,9 @@ private void StopSynchronising() int secsdiff; synchronising = false; + tmrDataRead.Interval = 16000; // 16 seconds + synchroniseAttempts = 0; + if (previousSensorClock == DateTime.MinValue) { cumulus.LogMessage("Sensor clock " + FOSensorClockTime.ToLongTimeString()); @@ -1360,8 +1367,6 @@ private void StopSynchronising() } } - tmrDataRead.Interval = 16000; // 16 seconds - cumulus.LogMessage("Stop Synchronising"); cumulus.LogConsoleMessage("Stop Synchronising"); } diff --git a/CumulusMX/lib/FluentFTP.dll b/CumulusMX/lib/FluentFTP.dll index 0b7d4fa6f3b65d530e3ec3f90d68fbb0cae75e6f..f0263e2d74e79ccdb89bdceebd6ab311c97ec6c1 120000 GIT binary patch literal 342016 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�?bvdyDNaewX<;g$Jl{)G3o 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

|JU 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 literal 341504 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 Kna1n68fx8xohB-kTura|^qerqM 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

IyuiATf2v&|;5ZlEn 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 DDM?KJ diff --git a/Updates.txt b/Updates.txt index 77fd9b9c..24c24753 100644 --- a/Updates.txt +++ b/Updates.txt @@ -3,6 +3,7 @@ Fixed - Dashboard occasionally showing zero values when using Ecowitt/Ambient extra sensors with the extra HTTP station feature - Sunshine Hours graph data had badly formed JSON +- Fine Offset station getting into a data read synchronisation loop when synchronisation fails. It will now give up after two attempts New - Added new midnight temperature range tags for today and yesterday From 7394a89b10fadcaf23975ca01e5358611538f045 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Wed, 6 Jul 2022 16:08:53 +0100 Subject: [PATCH 06/11] FTP trace control update --- CumulusMX/Cumulus.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CumulusMX/Cumulus.cs b/CumulusMX/Cumulus.cs index 4f719fea..d09e0214 100644 --- a/CumulusMX/Cumulus.cs +++ b/CumulusMX/Cumulus.cs @@ -1961,10 +1961,12 @@ public void SetFtpLogging(bool isSet) { FtpTrace.LogToFile = "ftplog.txt"; FtpTrace.FlushOnWrite = true; + FtpTrace.EnableTracing = true; } else { FtpTrace.LogToFile = "false"; + FtpTrace.EnableTracing = false; } } From 0f7f1fff6a77257e8b5740cea2d1ea800115b9d0 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Wed, 6 Jul 2022 20:06:03 +0100 Subject: [PATCH 07/11] Inner exception logging for FTP --- CumulusMX/Cumulus.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CumulusMX/Cumulus.cs b/CumulusMX/Cumulus.cs index d09e0214..ba11e269 100644 --- a/CumulusMX/Cumulus.cs +++ b/CumulusMX/Cumulus.cs @@ -8588,6 +8588,10 @@ private bool UploadFile(FtpClient conn, string localfile, string remotefile, int catch (Exception ex) { LogFtpMessage($"FTP[{cycleStr}]: Error deleting {remotefile} : {ex.Message}"); + if (ex.InnerException != null) + { + LogFtpMessage($"FTP[{cycleStr}]: Inner Exception: {ex.InnerException.Message}"); + } return conn.IsConnected; } } @@ -8613,6 +8617,10 @@ private bool UploadFile(FtpClient conn, string localfile, string remotefile, int catch (Exception ex) { LogFtpMessage($"FTP[{cycleStr}]: Error renaming {remotefilename} to {remotefile} : {ex.Message}"); + if (ex.InnerException != null) + { + LogFtpMessage($"FTP[{cycleStr}]: Inner Exception: {ex.InnerException.Message}"); + } return conn.IsConnected; } } @@ -8620,7 +8628,10 @@ private bool UploadFile(FtpClient conn, string localfile, string remotefile, int catch (Exception ex) { LogFtpMessage($"FTP[{cycleStr}]: Error uploading {localfile} to {remotefile} : {ex.Message}"); - + if (ex.InnerException != null) + { + LogFtpMessage($"FTP[{cycleStr}]: Inner Exception: {ex.InnerException.Message}"); + } } return conn.IsConnected; From ff5b7a9710bfb1ae77d86e567b293e64bd4f7295 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Mon, 11 Jul 2022 10:18:44 +0100 Subject: [PATCH 08/11] Revert FTP trace listener changes --- CumulusMX/Cumulus.cs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/CumulusMX/Cumulus.cs b/CumulusMX/Cumulus.cs index ba11e269..bc378eb5 100644 --- a/CumulusMX/Cumulus.cs +++ b/CumulusMX/Cumulus.cs @@ -223,6 +223,8 @@ public struct TExtraFiles public string CurrentActivity = "Stopped"; + private static readonly TraceListener FtpTraceListener = new TextWriterTraceListener("ftplog.txt", "ftplog"); + public volatile int WebUpdating; public double WindRoseAngle { get; set; } @@ -1957,16 +1959,19 @@ internal void ChangeWindUnits() public void SetFtpLogging(bool isSet) { - if (isSet) + try { - FtpTrace.LogToFile = "ftplog.txt"; - FtpTrace.FlushOnWrite = true; - FtpTrace.EnableTracing = true; + FtpTrace.RemoveListener(FtpTraceListener); } - else + catch { - FtpTrace.LogToFile = "false"; - FtpTrace.EnableTracing = false; + // ignored + } + + if (isSet) + { + FtpTrace.AddListener(FtpTraceListener); + FtpTrace.FlushOnWrite = true; } } @@ -8766,7 +8771,7 @@ public void LogFtpMessage(string message) LogMessage(message); if (FtpOptions.Logging) { - FtpTrace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); + FtpTraceListener.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); } } @@ -8775,7 +8780,7 @@ public void LogFtpDebugMessage(string message) if (FtpOptions.Logging) { LogDebugMessage(message); - FtpTrace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); + FtpTraceListener.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff ") + message); } } From 53b0f4318bf1abc8ea53712f4753988e212be737 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Mon, 11 Jul 2022 10:27:14 +0100 Subject: [PATCH 09/11] New build number --- CumulusMX/Properties/AssemblyInfo.cs | 6 +++--- Updates.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CumulusMX/Properties/AssemblyInfo.cs b/CumulusMX/Properties/AssemblyInfo.cs index 134bd394..b6fdc272 100644 --- a/CumulusMX/Properties/AssemblyInfo.cs +++ b/CumulusMX/Properties/AssemblyInfo.cs @@ -6,7 +6,7 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Cumulus MX")] -[assembly: AssemblyDescription("Version 3.19.1 - Build 3192")] +[assembly: AssemblyDescription("Version 3.19.1 - Build 3193")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Cumulus MX")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.19.1.3192")] -[assembly: AssemblyFileVersion("3.19.1.3192")] +[assembly: AssemblyVersion("3.19.1.3193")] +[assembly: AssemblyFileVersion("3.19.1.3193")] diff --git a/Updates.txt b/Updates.txt index 24c24753..254edeed 100644 --- a/Updates.txt +++ b/Updates.txt @@ -1,4 +1,4 @@ -3.19.1 - b3192 +3.19.1 - b3193 —————————————— Fixed - Dashboard occasionally showing zero values when using Ecowitt/Ambient extra sensors with the extra HTTP station feature From bbbbd6f093adb851c2d2701ba0d96df771bc7085 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Wed, 13 Jul 2022 10:52:57 +0100 Subject: [PATCH 10/11] FO sync changes Add IsRaining Alarm More MySQL catches --- CumulusMX/AlarmSettings.cs | 21 + CumulusMX/Cumulus.cs | 161 +++--- CumulusMX/DataStruct.cs | 5 +- CumulusMX/FOStation.cs | 701 +++++++++++++++------------ CumulusMX/Properties/AssemblyInfo.cs | 6 +- CumulusMX/WeatherStation.cs | 17 +- CumulusMX/webtags.cs | 11 + Updates.txt | 4 +- 8 files changed, 552 insertions(+), 374 deletions(-) diff --git a/CumulusMX/AlarmSettings.cs b/CumulusMX/AlarmSettings.cs index 5579468c..e4df731f 100644 --- a/CumulusMX/AlarmSettings.cs +++ b/CumulusMX/AlarmSettings.cs @@ -117,6 +117,17 @@ public string GetAlarmSettings() Latches = cumulus.HighRainRateAlarm.Latch, LatchHrs = cumulus.HighRainRateAlarm.LatchHours }, + isRaining = new JsonAlarmValues() + { + Enabled = cumulus.IsRainingAlarm.Enabled, + SoundEnabled = cumulus.IsRainingAlarm.Sound, + Sound = cumulus.IsRainingAlarm.SoundFile, + Notify = cumulus.IsRainingAlarm.Notify, + Email = cumulus.IsRainingAlarm.Email, + Latches = cumulus.IsRainingAlarm.Latch, + LatchHrs = cumulus.IsRainingAlarm.LatchHours, + Threshold = cumulus.IsRainingAlarm.TriggerThreshold + }, gustAbove = new JsonAlarmValues() { Enabled = cumulus.HighGustAlarm.Enabled, @@ -350,6 +361,15 @@ public string UpdateAlarmSettings(IHttpContext context) cumulus.HighRainRateAlarm.LatchHours = settings.rainRateAbove.LatchHrs; emailRequired = emailRequired || (cumulus.HighRainRateAlarm.Email && cumulus.HighRainRateAlarm.Enabled); + cumulus.IsRainingAlarm.Enabled = settings.isRaining.Enabled; + cumulus.IsRainingAlarm.Sound = settings.isRaining.SoundEnabled; + cumulus.IsRainingAlarm.SoundFile = settings.isRaining.Sound; + cumulus.IsRainingAlarm.Notify = settings.isRaining.Notify; + cumulus.IsRainingAlarm.Email = settings.isRaining.Email; + cumulus.IsRainingAlarm.Latch = settings.isRaining.Latches; + cumulus.IsRainingAlarm.LatchHours = settings.isRaining.LatchHrs; + emailRequired = emailRequired || (cumulus.IsRainingAlarm.Email && cumulus.IsRainingAlarm.Enabled); + cumulus.HighGustAlarm.Enabled = settings.gustAbove.Enabled; cumulus.HighGustAlarm.Value = settings.gustAbove.Val; cumulus.HighGustAlarm.Sound = settings.gustAbove.SoundEnabled; @@ -563,6 +583,7 @@ public class JsonAlarmSettingsData public JsonAlarmValues upgrade { get; set; } public JsonAlarmValues httpUpload { get; set; } public JsonAlarmValues mySqlUpload { get; set; } + public JsonAlarmValues isRaining { get; set; } } public class JsonAlarmValues diff --git a/CumulusMX/Cumulus.cs b/CumulusMX/Cumulus.cs index bc378eb5..4414667b 100644 --- a/CumulusMX/Cumulus.cs +++ b/CumulusMX/Cumulus.cs @@ -622,6 +622,7 @@ public struct MqttSettings public Alarm UpgradeAlarm = new Alarm(); public Alarm HttpUploadAlarm = new Alarm(); public Alarm MySqlUploadAlarm = new Alarm(); + public Alarm IsRainingAlarm = new Alarm(); private const double DEFAULTFCLOWPRESS = 950.0; @@ -1411,6 +1412,7 @@ public Cumulus(int HTTPport, bool DebugEnabled, string startParms) UpgradeAlarm.cumulus = this; HttpUploadAlarm.cumulus = this; MySqlUploadAlarm.cumulus = this; + IsRainingAlarm.cumulus = this; GetLatestVersion(); @@ -2075,6 +2077,7 @@ private void RG11StateChange(object sender, SerialPinChangedEventArgs e) else { station.IsRaining = isOn; + IsRainingAlarm.Triggered = isOn; } } else if (isDevice2) @@ -2090,6 +2093,7 @@ private void RG11StateChange(object sender, SerialPinChangedEventArgs e) else { station.IsRaining = isOn; + IsRainingAlarm.Triggered = isOn; } } } @@ -4724,6 +4728,14 @@ private void ReadIniFile() HighRainRateAlarm.Latch = ini.GetValue("Alarms", "HighRainRateAlarmLatch", false); HighRainRateAlarm.LatchHours = ini.GetValue("Alarms", "HighRainRateAlarmLatchHours", 24); + IsRainingAlarm.Enabled = ini.GetValue("Alarms", "IsRainingAlarmSet", false); + IsRainingAlarm.Sound = ini.GetValue("Alarms", "IsRainingAlarmSound", false); + IsRainingAlarm.SoundFile = ini.GetValue("Alarms", "IsRainingAlarmSoundFile", DefaultSoundFile); + IsRainingAlarm.Notify = ini.GetValue("Alarms", "IsRainingAlarmNotify", false); + IsRainingAlarm.Email = ini.GetValue("Alarms", "IsRainingAlarmEmail", false); + IsRainingAlarm.Latch = ini.GetValue("Alarms", "IsRainingAlarmLatch", false); + IsRainingAlarm.LatchHours = ini.GetValue("Alarms", "IsRainingAlarmLatchHours", 1); + HighGustAlarm.Value = ini.GetValue("Alarms", "alarmhighgust", 0.0); HighGustAlarm.Enabled = ini.GetValue("Alarms", "HighGustAlarmSet", false); HighGustAlarm.Sound = ini.GetValue("Alarms", "HighGustAlarmSound", false); @@ -5670,6 +5682,15 @@ internal void WriteIniFile() ini.SetValue("Alarms", "HighRainRateAlarmLatch", HighRainRateAlarm.Latch); ini.SetValue("Alarms", "HighRainRateAlarmLatchHours", HighRainRateAlarm.LatchHours); + ini.SetValue("Alarms", "IsRainingAlarmSet", IsRainingAlarm.Enabled); + ini.SetValue("Alarms", "IsRainingAlarmSound", IsRainingAlarm.Sound); + ini.SetValue("Alarms", "IsRainingAlarmSoundFile", IsRainingAlarm.SoundFile); + ini.SetValue("Alarms", "IsRainingAlarmNotify", IsRainingAlarm.Notify); + ini.SetValue("Alarms", "IsRainingAlarmEmail", IsRainingAlarm.Email); + ini.SetValue("Alarms", "IsRainingAlarmLatch", IsRainingAlarm.Latch); + ini.SetValue("Alarms", "IsRainingAlarmLatchHours", IsRainingAlarm.LatchHours); + ini.SetValue("Alarms", "IsRainingAlarmTriggerCount", IsRainingAlarm.TriggerThreshold); + ini.SetValue("Alarms", "alarmhighgust", HighGustAlarm.Value); ini.SetValue("Alarms", "HighGustAlarmSet", HighGustAlarm.Enabled); ini.SetValue("Alarms", "HighGustAlarmSound", HighGustAlarm.Sound); @@ -6884,8 +6905,9 @@ public async void DoLogFile(DateTime timestamp, bool live) { MySqlCommandSync(MySqlFailedList, "Buffered"); } - catch + catch (Exception ex) { + LogMessage("DoLogFile: Error - " + exceptional.Message); } } else if (MySqlSettings.BufferOnfailure) @@ -9298,29 +9320,34 @@ private async void CustomMysqlSecondsTimerTick(object sender, ElapsedEventArgs e customMySqlSecondsUpdateInProgress = true; customMysqlSecondsTokenParser.InputText = MySqlSettings.CustomSecs.Command; - - if (!MySqlFailedList.IsEmpty) + try { - LogMessage("CustomSqlSecs: Failed MySQL updates are present"); - if (MySqlCheckConnection()) + if (!MySqlFailedList.IsEmpty) { - Thread.Sleep(500); - LogMessage("CustomSqlSecs: Connection to MySQL server is OK, trying to upload failed commands"); + LogMessage("CustomSqlSecs: Failed MySQL updates are present"); + if (MySqlCheckConnection()) + { + Thread.Sleep(500); + LogMessage("CustomSqlSecs: Connection to MySQL server is OK, trying to upload failed commands"); - await MySqlCommandAsync(MySqlFailedList, "CustomSqlSecs"); - LogMessage("CustomSqlSecs: Upload of failed MySQL commands complete"); + await MySqlCommandAsync(MySqlFailedList, "CustomSqlSecs"); + LogMessage("CustomSqlSecs: Upload of failed MySQL commands complete"); + } + else if (MySqlSettings.BufferOnfailure) + { + LogMessage("CustomSqlSecs: Connection to MySQL server has failed, adding this update to the failed list"); + MySqlFailedList.Enqueue(customMysqlSecondsTokenParser.ToStringFromString()); + } } - else if (MySqlSettings.BufferOnfailure) + else { - LogMessage("CustomSqlSecs: Connection to MySQL server has failed, adding this update to the failed list"); - MySqlFailedList.Enqueue(customMysqlSecondsTokenParser.ToStringFromString()); + await MySqlCommandAsync(customMysqlSecondsTokenParser.ToStringFromString(), "CustomSqlSecs"); } } - else + catch (Exception ex) { - await MySqlCommandAsync(customMysqlSecondsTokenParser.ToStringFromString(), "CustomSqlSecs"); + LogMessage("CustomSqlSecs: Error - " + ex.Message); } - customMySqlSecondsUpdateInProgress = false; } } @@ -9340,26 +9367,33 @@ internal async void CustomMysqlMinutesTimerTick() customMysqlMinutesTokenParser.InputText = MySqlSettings.CustomMins.Command; - if (!MySqlFailedList.IsEmpty) + try { - LogMessage("CustomSqlMins: Failed MySQL updates are present"); - if (MySqlCheckConnection()) + if (!MySqlFailedList.IsEmpty) { - Thread.Sleep(500); - LogMessage("CustomSqlMins: Connection to MySQL server is OK, trying to upload failed commands"); + LogMessage("CustomSqlMins: Failed MySQL updates are present"); + if (MySqlCheckConnection()) + { + Thread.Sleep(500); + LogMessage("CustomSqlMins: Connection to MySQL server is OK, trying to upload failed commands"); - await MySqlCommandAsync(MySqlFailedList, "CustomSqlMins"); - LogMessage("CustomSqlMins: Upload of failed MySQL commands complete"); + await MySqlCommandAsync(MySqlFailedList, "CustomSqlMins"); + LogMessage("CustomSqlMins: Upload of failed MySQL commands complete"); + } + else if (MySqlSettings.BufferOnfailure) + { + LogMessage("CustomSqlMins: Connection to MySQL server has failed, adding this update to the failed list"); + MySqlFailedList.Enqueue(customMysqlMinutesTokenParser.ToStringFromString()); + } } - else if (MySqlSettings.BufferOnfailure) + else { - LogMessage("CustomSqlMins: Connection to MySQL server has failed, adding this update to the failed list"); - MySqlFailedList.Enqueue(customMysqlMinutesTokenParser.ToStringFromString()); + await MySqlCommandAsync(customMysqlMinutesTokenParser.ToStringFromString(), "CustomSqlMins"); } } - else + catch (Exception ex) { - await MySqlCommandAsync(customMysqlMinutesTokenParser.ToStringFromString(), "CustomSqlMins"); + LogMessage("CustomSqlMins: Error - " + ex.Message); } customMySqlMinutesUpdateInProgress = false; @@ -9380,26 +9414,33 @@ internal async void CustomMysqlRolloverTimerTick() customMysqlRolloverTokenParser.InputText = MySqlSettings.CustomRollover.Command; - if (!MySqlFailedList.IsEmpty) + try { - LogMessage("CustomSqlRollover: Failed MySQL updates are present"); - if (MySqlCheckConnection()) + if (!MySqlFailedList.IsEmpty) { - Thread.Sleep(500); - LogMessage("CustomSqlRollover: Connection to MySQL server is OK, trying to upload failed commands"); + LogMessage("CustomSqlRollover: Failed MySQL updates are present"); + if (MySqlCheckConnection()) + { + Thread.Sleep(500); + LogMessage("CustomSqlRollover: Connection to MySQL server is OK, trying to upload failed commands"); - await MySqlCommandAsync(MySqlFailedList, "CustomSqlRollover"); - LogMessage("CustomSqlRollover: Upload of failed MySQL commands complete"); + await MySqlCommandAsync(MySqlFailedList, "CustomSqlRollover"); + LogMessage("CustomSqlRollover: Upload of failed MySQL commands complete"); + } + else if (MySqlSettings.BufferOnfailure) + { + LogMessage("CustomSqlRollover: Connection to MySQL server has failed, adding this update to the failed list"); + MySqlFailedList.Enqueue(customMysqlRolloverTokenParser.ToStringFromString()); + } } - else if (MySqlSettings.BufferOnfailure) + else { - LogMessage("CustomSqlRollover: Connection to MySQL server has failed, adding this update to the failed list"); - MySqlFailedList.Enqueue(customMysqlRolloverTokenParser.ToStringFromString()); + await MySqlCommandAsync(customMysqlRolloverTokenParser.ToStringFromString(), "CustomSqlRollover"); } } - else + catch (Exception ex) { - await MySqlCommandAsync(customMysqlRolloverTokenParser.ToStringFromString(), "CustomSqlRollover"); + LogMessage("CustomSqlRollover: Error - " + ex.Message); } customMySqlRolloverUpdateInProgress = false; @@ -9891,7 +9932,6 @@ await Task.Run(() => using (var transaction = Cmds.Count > 2 ? mySqlConn.BeginTransaction() : null) { - foreach (var cmdStr in Cmds) { lastCmd = cmdStr; @@ -9915,10 +9955,12 @@ await Task.Run(() => LogDebugMessage($"{CallingFunction}: Committing updates to DB"); transaction.Commit(); LogDebugMessage($"{CallingFunction}: Commit complete"); + transaction.Dispose(); } - - mySqlConn.Close(); } + + mySqlConn.Close(); + mySqlConn.Dispose(); } MySqlUploadAlarm.Triggered = false; @@ -9962,29 +10004,40 @@ public void MySqlCommandSync(ConcurrentQueue Cmds, string CallingFunctio { using (var mySqlConn = new MySqlConnection(MySqlConnSettings.ToString())) - using (var transaction = Cmds.Count > 2 ? mySqlConn.BeginTransaction() : null) { mySqlConn.Open(); - foreach (var cmdStr in Cmds) + using (var transaction = Cmds.Count > 2 ? mySqlConn.BeginTransaction() : null) { - lastCmd = cmdStr; - - using (MySqlCommand cmd = new MySqlCommand(cmdStr, mySqlConn)) + foreach (var cmdStr in Cmds) { - LogDebugMessage($"{CallingFunction}: MySQL executing - {cmdStr}"); + lastCmd = cmdStr; - if (Cmds.Count > 2) - cmd.Transaction = transaction; + using (MySqlCommand cmd = new MySqlCommand(cmdStr, mySqlConn)) + { + LogDebugMessage($"{CallingFunction}: MySQL executing - {cmdStr}"); - int aff = cmd.ExecuteNonQuery(); - LogDebugMessage($"{CallingFunction}: MySQL {aff} rows were affected."); - } + if (Cmds.Count > 2) + cmd.Transaction = transaction; - MySqlUploadAlarm.Triggered = false; + int aff = cmd.ExecuteNonQuery(); + LogDebugMessage($"{CallingFunction}: MySQL {aff} rows were affected."); + } + + MySqlUploadAlarm.Triggered = false; + } + + if (transaction != null) + { + LogDebugMessage($"{CallingFunction}: Committing updates to DB"); + transaction.Commit(); + LogDebugMessage($"{CallingFunction}: Commit complete"); + transaction.Dispose(); + } } mySqlConn.Close(); + mySqlConn.Dispose(); } } catch (Exception ex) diff --git a/CumulusMX/DataStruct.cs b/CumulusMX/DataStruct.cs index af1d6996..7ef92085 100644 --- a/CumulusMX/DataStruct.cs +++ b/CumulusMX/DataStruct.cs @@ -23,7 +23,7 @@ public DataStruct(Cumulus cumulus, double outdoorTemp, int outdoorHum, double av bool dataStopped, double stormRain, string stormRainStart, int cloudbase, string cloudbaseUnit, double last24hourRain, bool alarmLowTemp, bool alarmHighTemp, bool alarmTempUp, bool alarmTempDown, bool alarmRain, bool alarmRainRate, bool alarmLowPress, bool alarmHighPress, bool alarmPressUp, bool alarmPressDown, bool alarmGust, bool alarmWind, bool alarmSensor, bool alarmBattery, bool alarmSpike, bool alarmUpgrade, - bool alarmHttp, bool alarmMySql, + bool alarmHttp, bool alarmMySql, bool alarmRaining, double feelsLike, double highFeelsLikeToday, string highFeelsLikeTodayTime, double lowFeelsLikeToday, string lowFeelsLikeTodayTime, double highHumidexToday, string highHumidexTodayTime) { @@ -144,6 +144,7 @@ public DataStruct(Cumulus cumulus, double outdoorTemp, int outdoorHum, double av AlarmUpgrade = alarmUpgrade; AlarmHttp = alarmHttp; AlarmMySql = alarmMySql; + AlarmIsRaining = alarmRaining; } [IgnoreDataMember] @@ -829,5 +830,7 @@ public string Build [DataMember] public bool AlarmMySql { get; set; } + [DataMember] + public bool AlarmIsRaining { get; set; } } } diff --git a/CumulusMX/FOStation.cs b/CumulusMX/FOStation.cs index e6e9c551..345388c9 100644 --- a/CumulusMX/FOStation.cs +++ b/CumulusMX/FOStation.cs @@ -25,10 +25,14 @@ internal class FOStation : WeatherStation private int prevraintotal = -1; private int ignoreraincount; private DateTime previousSensorClock; - //private DateTime previousStationClock; + private DateTime previousStationClock; private DateTime previousSolarClock; private bool synchronising; private int synchroniseAttempts; + private DateTime syncStart; + private bool sensorSync; + private bool stationSync; + private bool solarSync; //private DateTime lastraintip; //private int raininlasttip = 0; //private readonly double[] WindRunHourMult = {3.6, 1.0, 1.0, 1.0}; @@ -53,15 +57,18 @@ internal FOStation(Cumulus cumulus) : base(cumulus) calculaterainrate = true; + hasSolar = cumulus.StationType == StationTypes.FineOffsetSolar; + cumulus.LogMessage("FO synchronise reads: " + cumulus.FineOffsetOptions.SyncReads); if (cumulus.FineOffsetOptions.SyncReads) { cumulus.LogMessage("FO synchronise avoid time: " + cumulus.FineOffsetOptions.ReadAvoidPeriod); - cumulus.LogMessage($"FO last station time: {FOSensorClockTime:s}"); + cumulus.LogMessage($"FO last station time: {FOStationClockTime:s}"); + cumulus.LogMessage($"FO last sensor time : {FOSensorClockTime:s}"); + if (hasSolar) + cumulus.LogMessage($"FO last solar time : {FOSolarClockTime:s}"); } - hasSolar = cumulus.StationType == StationTypes.FineOffsetSolar; - if (hasSolar) { foEntrysize = 0x14; @@ -846,64 +853,89 @@ private void GetAndProcessData() //System.Threading.Thread.CurrentThread.CurrentCulture = ci; var data = new byte[32]; + var now = DateTime.Now; if (cumulus.FineOffsetOptions.SyncReads && !synchronising) { - var now = DateTime.Now; - - if ((DateTime.Now - FOSensorClockTime).TotalDays > 1) + if (DateTime.Now.Subtract(FOSensorClockTime).TotalDays > 1 || DateTime.Now.Subtract(FOStationClockTime).TotalDays > 1 || (hasSolar && DateTime.Now.Subtract(FOSolarClockTime).TotalDays > 1)) { // (re)synchronise data reads to try to avoid USB lock-up problem - if (synchroniseAttempts <= 2) + if ((!sensorSync || !solarSync || !stationSync) && synchroniseAttempts <= 2) { + if (synchroniseAttempts == 0) + { + InitialiseSync(); + } + StartSynchronising(); } } else { - // Check that were not within N seconds of the station updating memory - bool sensorclockOK = ((int)(Math.Floor((now - FOSensorClockTime).TotalSeconds)) % 48 >= (cumulus.FineOffsetOptions.ReadAvoidPeriod - 1)) && - ((int)(Math.Floor((now - FOSensorClockTime).TotalSeconds)) % 48 <= (47 - cumulus.FineOffsetOptions.ReadAvoidPeriod)); - - //bool stationclockOK = ((int)(Math.Floor((now - FOStationClockTime).TotalSeconds)) % 60 >= (cumulus.FineOffsetOptions.ReadAvoidPeriod - 1)) && - // ((int)(Math.Floor((now - FOStationClockTime).TotalSeconds)) % 60 <= (59 - cumulus.FineOffsetOptions.ReadAvoidPeriod)); + int secsToSkip = 0; - bool solarclockOK = true; + bool sensorclockOK = true; - if (hasSolar) + // Check that were not within N seconds of the station updating memory + if (FOSensorClockTime != DateTime.MinValue) { - solarclockOK = ((int)(Math.Floor((now - FOSolarClockTime).TotalSeconds)) % 60 >= (cumulus.FineOffsetOptions.ReadAvoidPeriod - 1)) && - ((int)(Math.Floor((now - FOSolarClockTime).TotalSeconds)) % 60 <= (59 - cumulus.FineOffsetOptions.ReadAvoidPeriod)); + secsToSkip = (int)(Math.Floor(now.Subtract(FOSensorClockTime).TotalSeconds)) % 48; + + sensorclockOK = (secsToSkip >= (cumulus.FineOffsetOptions.ReadAvoidPeriod - 1)) && (secsToSkip <= (47 - cumulus.FineOffsetOptions.ReadAvoidPeriod)); } - //if (!sensorclockOK || !stationclockOK || !solarclockOK) - if (!sensorclockOK || !solarclockOK) + bool stationclockOK = true; + if (FOStationClockTime != DateTime.MinValue) { - if (!sensorclockOK) - { - cumulus.LogDebugMessage("Synchronise: Within " + cumulus.FineOffsetOptions.ReadAvoidPeriod + " seconds of sensor data change, skipping read"); + secsToSkip = (int)(Math.Floor(now.Subtract(FOStationClockTime).TotalSeconds)) % 60; - cumulus.LogMessage("Pausing for 8 seconds to unsynchronise data reads with 48 second updates..."); + stationclockOK = (secsToSkip >= (cumulus.FineOffsetOptions.ReadAvoidPeriod - 1)) && (secsToSkip <= (59 - cumulus.FineOffsetOptions.ReadAvoidPeriod)); + } - // We'll shift the timer by 8 seconds to try and avoid it at completely - tmrDataRead.Enabled = false; - Thread.Sleep(8000); - tmrDataRead.Enabled = true; - } + bool solarclockOK = true; + if (hasSolar && FOSolarClockTime != DateTime.MinValue) + { + secsToSkip = (int)(Math.Floor(now.Subtract(FOSolarClockTime).TotalSeconds)) % 60; + + solarclockOK = (secsToSkip >= (cumulus.FineOffsetOptions.ReadAvoidPeriod - 1)) && (secsToSkip <= (59 - cumulus.FineOffsetOptions.ReadAvoidPeriod)); + } + if (!sensorclockOK || !stationclockOK || !solarclockOK) + { if (!solarclockOK) { cumulus.LogDebugMessage("Synchronise: Within " + cumulus.FineOffsetOptions.ReadAvoidPeriod + " seconds of solar change, skipping read"); + return; } - - /* if (!stationclockOK) { cumulus.LogDebugMessage("Synchronise: Within " + cumulus.FineOffsetOptions.ReadAvoidPeriod + " seconds of console clock minute change, skipping read"); + return; + } + + if (!sensorclockOK) + { + cumulus.LogDebugMessage("Synchronise: Within " + cumulus.FineOffsetOptions.ReadAvoidPeriod + " seconds of sensor data change, delaying reads"); + + int delay = 0; + if (secsToSkip < 8) + { + delay = 8 - secsToSkip; + } + else if (secsToSkip > 40) + { + delay = 8 + secsToSkip % 8; + } + + cumulus.LogMessage($"Pausing for {delay} seconds to unsynchronise data reads with 48 second updates..."); + + // We'll shift the timer by x seconds to try and avoid it at completely + tmrDataRead.Enabled = false; + Thread.Sleep(delay * 1000); + tmrDataRead.Enabled = true; } - */ } } } @@ -923,44 +955,113 @@ private void GetAndProcessData() if (prevaddr == -1) { prevaddr = addr; + hadfirstsyncdata = false; } else if (addr != prevaddr) { // location has changed, skip this read to give it chance to update //cumulus.LogMessage("Location changed, skipping"); - cumulus.LogDebugMessage("Address changed, avoid reading data this time"); + cumulus.LogDebugMessage("Address changed, delay reading data this time"); cumulus.LogDebugMessage("addr=" + addr.ToString("X4") + " previous=" + prevaddr.ToString("X4")); + if (synchronising && !stationSync) + { + //cumulus.LogConsoleMessage(" - Console clock minute changed"); + cumulus.LogMessage("Synchronise: Console clock minute changed"); + + FOStationClockTime = DateTime.Now; + stationSync = true; + } + prevaddr = addr; hadfirstsyncdata = false; - return; + Thread.Sleep(5000); // delay reading data block for 5 seconds } - else + + + cumulus.LogDataMessage("Reading data, addr = " + addr.ToString("X4")); + + if (!ReadAddress(addr, data)) { - cumulus.LogDataMessage("Reading data, addr = " + addr.ToString("X4")); + return; + } - if (!ReadAddress(addr, data)) + cumulus.LogDataMessage("Data read - " + BitConverter.ToString(data)); + + now = DateTime.Now; + + if (synchronising) + { + bool datachanged = false; + // ReadCounter determines whether we actually process the data (every 10 seconds) + readCounter++; + if (hadfirstsyncdata) { - return; - } + // Sensor Data change detection - cumulus.LogDataMessage("Data read - " + BitConverter.ToString(data)); + // ignore the first byte as this is a time increment every minute + for (int i = 1; i < 16; i++) + { + if (prevdata[i] != data[i]) + { + datachanged = true; + } + } - DateTime now = DateTime.Now; + if (datachanged) + { + //cumulus.LogConsoleMessage(" - Sensor data changed"); + cumulus.LogMessage("Synchronise: Sensor data changed"); + + if (!sensorSync) + { + FOSensorClockTime = now; + sensorSync = true; + } - if (synchronising) + for (int i = 1; i < 16; i++) + { + prevdata[i] = data[i]; + } + } + + // station clock minute change + // the minutes in the data block only seems to update when data is written to the block, + // so we cannot use that as an accurate indication of when the console clock minute changes + /* + if (prevdata[0] != data[0]) + { + cumulus.LogConsoleMessage(" - Console clock minute changed"); + cumulus.LogMessage("Synchronise: Console clock minute changed"); + + if (!stationSync) + { + FOStationClockTime = now; + stationSync = true; + } + + prevdata[0] = data[0]; + } + */ + } + else { - bool datachanged = false; - // ReadCounter determines whether we actually process the data (every 10 seconds) - readCounter++; - if (hadfirstsyncdata) + hadfirstsyncdata = true; + for (int i = 0; i < 16; i++) { + prevdata[i] = data[i]; + } - // Sensor Data change detection + } - // ignore the first byte as this is a time increment every minute - for (int i = 1; i < 16; i++) + // now do the solar + if (hasSolar) + { + datachanged = false; + if (hadfirstsyncdata) + { + for (int i = 16; i < 20; i++) { if (prevdata[i] != data[i]) { @@ -970,344 +1071,281 @@ private void GetAndProcessData() if (datachanged) { - cumulus.LogConsoleMessage("Sensor data changed"); - cumulus.LogMessage("Synchronise: Sensor data changed"); + //cumulus.LogConsoleMessage(" - Solar data changed"); + cumulus.LogMessage("Synchronise: Solar data changed"); - if (FOSensorClockTime == DateTime.MinValue) + if (!solarSync) { - FOSensorClockTime = now; + FOSolarClockTime = now; + solarSync = true; } - for (int i = 1; i < 16; i++) + for (int i = 16; i < 20; i++) { prevdata[i] = data[i]; } } + } + } - // station clock minute change - // the minutes in the data block only seems to update when data is written to the block, - // so we cannot use that as an accurate indication of when the console clock minute changes - /* - if (prevdata[0] != data[0]) - { - cumulus.LogConsoleMessage("Console clock minute changed"); - cumulus.LogMessage("Synchronise: Console clock minute changed"); - - FOStationClockTime = now; - - if (FOStationClockTime == DateTime.MinValue) - { - FOStationClockTime = now; - } + if (sensorSync && solarSync && stationSync) + { + StopSynchronising(); + FinaliseSync(); + } + else if (DateTime.Now.Subtract(syncStart).TotalMinutes > 1) + { + StopSynchronising(); - prevdata[0] = data[0]; - } - */ - } - else + if (synchroniseAttempts == 3) { - hadfirstsyncdata = true; - for (int i = 0; i < 16; i++) - { - prevdata[i] = data[i]; - } - + FinaliseSync(); } + } - // now do the solar - if (hasSolar) - { - datachanged = false; - if (hadfirstsyncdata) - { - for (int i = 16; i < 20; i++) - { - if (prevdata[i] != data[i]) - { - datachanged = true; - } - } + readCounter++; + } - if (datachanged) - { - cumulus.LogConsoleMessage("Solar data changed"); - cumulus.LogMessage("Synchronise: Solar data changed"); - if (FOSolarClockTime == DateTime.MinValue) - { - FOSolarClockTime = now; - } + if (!synchronising || (readCounter % 20) == 0) + { + LatestFOReading = addr.ToString("X4") + " Data: " + BitConverter.ToString(data, 0, 16); + cumulus.LogDataMessage("Latest Block: " + LatestFOReading); - for (int i = 16; i < 20; i++) - { - prevdata[i] = data[i]; - } - } - } + // Indoor Humidity ==================================================== + int inhum = data[1]; + if (inhum > 100 || inhum < 0) + { + // bad value + cumulus.LogMessage("Ignoring bad data: inhum = " + inhum); + } + else + { + // 255 is the overflow value, when RH gets below 10% - use 10% + if (inhum == 255) + { + inhum = 10; } - //if (FOSensorClockTime != DateTime.MinValue && FOStationClockTime != DateTime.MinValue) - if (FOSensorClockTime != DateTime.MinValue) + if (inhum > 0) { - if (hasSolar) - { - if (FOSolarClockTime != DateTime.MinValue) - { - StopSynchronising(); - } - } - else - { - StopSynchronising(); - } + DoIndoorHumidity(inhum); } + } - readCounter++; + // Indoor temperature =============================================== + double intemp = ((data[2]) + (data[3] & 0x7F)*256)/10.0f; + var sign = (byte) (data[3] & 0x80); + if (sign == 0x80) + { + intemp = -intemp; + } + + if (intemp < -50 || intemp > 50) + { + cumulus.LogMessage("Ignoring bad data: intemp = " + intemp); } + else + { + DoIndoorTemp(ConvertTempCToUser(intemp)); + } + + // Pressure ========================================================= + double pressure = (data[7] + ((data[8] & 0x3f)*256))/10.0f + pressureOffset; + if (pressure < cumulus.EwOptions.MinPressMB || pressure > cumulus.EwOptions.MaxPressMB) + { + // bad value + cumulus.LogMessage("Ignoring bad data: pressure = " + pressure); + cumulus.LogMessage(" offset = " + pressureOffset); + } + else + { + DoPressure(ConvertPressMBToUser(pressure), now); + // Get station pressure in hPa by subtracting offset and calibrating + // EWpressure offset is difference between rel and abs in hPa + // PressOffset is user calibration in user units. + pressure = (pressure - pressureOffset) * ConvertUserPressureToHPa(cumulus.Calib.Press.Mult) + ConvertUserPressureToHPa(cumulus.Calib.Press.Offset); + StationPressure = ConvertPressMBToUser(pressure); + + UpdatePressureTrendString(); + } - if (!synchronising || (readCounter % 20) == 0) + var status = data[15]; + if ((status & 0x40) != 0) + { + SensorContactLost = true; + cumulus.LogMessage("Sensor contact lost; ignoring outdoor data"); + } + else { - LatestFOReading = addr.ToString("X4") + " Data: " + BitConverter.ToString(data, 0, 16); - cumulus.LogDataMessage("Latest Block: " + LatestFOReading); + SensorContactLost = false; - // Indoor Humidity ==================================================== - int inhum = data[1]; - if (inhum > 100 || inhum < 0) + // Outdoor Humidity =================================================== + int outhum = data[4]; + if (outhum > 100 || outhum < 0) { // bad value - cumulus.LogMessage("Ignoring bad data: inhum = " + inhum); + cumulus.LogMessage("Ignoring bad data: outhum = " + outhum); } else { // 255 is the overflow value, when RH gets below 10% - use 10% - if (inhum == 255) + if (outhum == 255) { - inhum = 10; + outhum = 10; } - if (inhum > 0) + if (outhum > 0) { - DoIndoorHumidity(inhum); + DoOutdoorHumidity(outhum, now); } } - // Indoor temperature =============================================== - double intemp = ((data[2]) + (data[3] & 0x7F)*256)/10.0f; - var sign = (byte) (data[3] & 0x80); - if (sign == 0x80) - { - intemp = -intemp; - } + // Wind ============================================================= + double gust = (data[10] + ((data[11] & 0xF0)*16))/10.0f; + double windspeed = (data[9] + ((data[11] & 0x0F)*256))/10.0f; + var winddir = (int) (data[12]*22.5f); - if (intemp < -50 || intemp > 50) - { - cumulus.LogMessage("Ignoring bad data: intemp = " + intemp); - } - else + if (gust > 60 || gust < 0) { - DoIndoorTemp(ConvertTempCToUser(intemp)); + // bad value + cumulus.LogMessage("Ignoring bad data: gust = " + gust); } - - // Pressure ========================================================= - double pressure = (data[7] + ((data[8] & 0x3f)*256))/10.0f + pressureOffset; - - if (pressure < cumulus.EwOptions.MinPressMB || pressure > cumulus.EwOptions.MaxPressMB) + else if (windspeed > 60 || windspeed < 0) { // bad value - cumulus.LogMessage("Ignoring bad data: pressure = " + pressure); - cumulus.LogMessage(" offset = " + pressureOffset); + cumulus.LogMessage("Ignoring bad data: speed = " + gust); } else { - DoPressure(ConvertPressMBToUser(pressure), now); - // Get station pressure in hPa by subtracting offset and calibrating - // EWpressure offset is difference between rel and abs in hPa - // PressOffset is user calibration in user units. - pressure = (pressure - pressureOffset) * ConvertUserPressureToHPa(cumulus.Calib.Press.Mult) + ConvertUserPressureToHPa(cumulus.Calib.Press.Offset); - StationPressure = ConvertPressMBToUser(pressure); - - UpdatePressureTrendString(); + DoWind(ConvertWindMSToUser(gust), winddir, ConvertWindMSToUser(windspeed), now); } - var status = data[15]; - if ((status & 0x40) != 0) + // Outdoor Temperature ============================================== + double outtemp = ((data[5]) + (data[6] & 0x7F)*256)/10.0f; + sign = (byte) (data[6] & 0x80); + if (sign == 0x80) outtemp = -outtemp; + + if (outtemp < -50 || outtemp > 70) { - SensorContactLost = true; - cumulus.LogMessage("Sensor contact lost; ignoring outdoor data"); + // bad value + cumulus.LogMessage("Ignoring bad data: outtemp = " + outtemp); } else { - SensorContactLost = false; + DoOutdoorTemp(ConvertTempCToUser(outtemp), now); - // Outdoor Humidity =================================================== - int outhum = data[4]; - if (outhum > 100 || outhum < 0) - { - // bad value - cumulus.LogMessage("Ignoring bad data: outhum = " + outhum); - } - else + // Use current humidity for dewpoint + if (OutdoorHumidity > 0) { - // 255 is the overflow value, when RH gets below 10% - use 10% - if (outhum == 255) - { - outhum = 10; - } + OutdoorDewpoint = ConvertTempCToUser(MeteoLib.DewPoint(ConvertUserTempToC(OutdoorTemperature), OutdoorHumidity)); - if (outhum > 0) - { - DoOutdoorHumidity(outhum, now); - } + CheckForDewpointHighLow(now); } - // Wind ============================================================= - double gust = (data[10] + ((data[11] & 0xF0)*16))/10.0f; - double windspeed = (data[9] + ((data[11] & 0x0F)*256))/10.0f; - var winddir = (int) (data[12]*22.5f); - - if (gust > 60 || gust < 0) - { - // bad value - cumulus.LogMessage("Ignoring bad data: gust = " + gust); - } - else if (windspeed > 60 || windspeed < 0) - { - // bad value - cumulus.LogMessage("Ignoring bad data: speed = " + gust); - } - else - { - DoWind(ConvertWindMSToUser(gust), winddir, ConvertWindMSToUser(windspeed), now); - } + // calculate wind chill + // The 'global average speed will have been determined by the call of DoWind + // so use that in the wind chill calculation + double avgspeedKPH = ConvertUserWindToKPH(WindAverage); - // Outdoor Temperature ============================================== - double outtemp = ((data[5]) + (data[6] & 0x7F)*256)/10.0f; - sign = (byte) (data[6] & 0x80); - if (sign == 0x80) outtemp = -outtemp; + // windinMPH = calibwind * 2.23693629; + // calculate wind chill from calibrated C temp and calibrated win in KPH + double val = MeteoLib.WindChill(ConvertUserTempToC(OutdoorTemperature), avgspeedKPH); - if (outtemp < -50 || outtemp > 70) - { - // bad value - cumulus.LogMessage("Ignoring bad data: outtemp = " + outtemp); - } - else - { - DoOutdoorTemp(ConvertTempCToUser(outtemp), now); + DoWindChill(ConvertTempCToUser(val), now); - // Use current humidity for dewpoint - if (OutdoorHumidity > 0) - { - OutdoorDewpoint = ConvertTempCToUser(MeteoLib.DewPoint(ConvertUserTempToC(OutdoorTemperature), OutdoorHumidity)); + DoApparentTemp(now); + DoFeelsLike(now); + DoHumidex(now); + DoCloudBaseHeatIndex(now); + } - CheckForDewpointHighLow(now); - } + // Rain ============================================================ + int raintot = data[13] + (data[14]*256); + if (prevraintotal == -1) + { + // first reading + prevraintotal = raintot; + cumulus.LogMessage("Rain total count from station = " + raintot); + } - // calculate wind chill - // The 'global average speed will have been determined by the call of DoWind - // so use that in the wind chill calculation - double avgspeedKPH = ConvertUserWindToKPH(WindAverage); + int raindiff = Math.Abs(raintot - prevraintotal); - // windinMPH = calibwind * 2.23693629; - // calculate wind chill from calibrated C temp and calibrated win in KPH - double val = MeteoLib.WindChill(ConvertUserTempToC(OutdoorTemperature), avgspeedKPH); + if (raindiff > cumulus.EwOptions.MaxRainTipDiff) + { + cumulus.LogMessage("Warning: large difference in rain gauge tip count: " + raindiff); - DoWindChill(ConvertTempCToUser(val), now); + ignoreraincount++; - DoApparentTemp(now); - DoFeelsLike(now); - DoHumidex(now); - DoCloudBaseHeatIndex(now); + if (ignoreraincount == 6) + { + cumulus.LogMessage("Six consecutive rain readings; accepting value. Adjusting start of day figure to compensate"); + raindaystart += (raindiff*0.3); + // adjust current rain total counter + Raincounter += (raindiff*0.3); + cumulus.LogMessage("Setting raindaystart to " + raindaystart); + ignoreraincount = 0; } - - // Rain ============================================================ - int raintot = data[13] + (data[14]*256); - if (prevraintotal == -1) + else { - // first reading - prevraintotal = raintot; - cumulus.LogMessage("Rain total count from station = " + raintot); + cumulus.LogMessage("Ignoring rain counter reading " + ignoreraincount); } + } + else + { + ignoreraincount = 0; + } - int raindiff = Math.Abs(raintot - prevraintotal); - - if (raindiff > cumulus.EwOptions.MaxRainTipDiff) - { - cumulus.LogMessage("Warning: large difference in rain gauge tip count: " + raindiff); + if (ignoreraincount == 0) + { + DoRain(ConvertRainMMToUser(raintot*0.3), -1, now); + prevraintotal = raintot; + } - ignoreraincount++; + // Solar/UV + if (hasSolar) + { + LightValue = (data[16] + (data[17]*256) + (data[18]*65536))/10.0; - if (ignoreraincount == 6) - { - cumulus.LogMessage("Six consecutive rain readings; accepting value. Adjusting start of day figure to compensate"); - raindaystart += (raindiff*0.3); - // adjust current rain total counter - Raincounter += (raindiff*0.3); - cumulus.LogMessage("Setting raindaystart to " + raindaystart); - ignoreraincount = 0; - } - else - { - cumulus.LogMessage("Ignoring rain counter reading " + ignoreraincount); - } - } - else + if (LightValue < 300000) { - ignoreraincount = 0; + DoSolarRad((int)(LightValue * cumulus.SolarOptions.LuxToWM2), now); } - if (ignoreraincount == 0) + int UVreading = data[19]; + + if (UVreading < 0 || UVreading > 16) { - DoRain(ConvertRainMMToUser(raintot*0.3), -1, now); - prevraintotal = raintot; + cumulus.LogMessage("Ignoring UV-I reading " + UVreading); } - - // Solar/UV - if (hasSolar) + else { - LightValue = (data[16] + (data[17]*256) + (data[18]*65536))/10.0; - - if (LightValue < 300000) - { - DoSolarRad((int)(LightValue * cumulus.SolarOptions.LuxToWM2), now); - } - - int UVreading = data[19]; - - if (UVreading < 0 || UVreading > 16) - { - cumulus.LogMessage("Ignoring UV-I reading " + UVreading); - } - else - { - DoUV(UVreading, now); - } + DoUV(UVreading, now); } - - UpdateStatusPanel(now); - UpdateMQTT(); - DoForecast(string.Empty, false); - } - if (cumulus.SensorAlarm.Enabled) - { - cumulus.SensorAlarm.Triggered = SensorContactLost; } + + UpdateStatusPanel(now); + UpdateMQTT(); + DoForecast(string.Empty, false); + } + + if (cumulus.SensorAlarm.Enabled) + { + cumulus.SensorAlarm.Triggered = SensorContactLost; } } } private void StartSynchronising() { - synchroniseAttempts++; - previousSensorClock = FOSensorClockTime; - //previousStationClock = FOStationClockTime; - previousSolarClock = FOSolarClockTime; synchronising = true; + synchroniseAttempts++; hadfirstsyncdata = false; readCounter = 0; + syncStart = DateTime.Now; cumulus.LogMessage("Start Synchronising with console"); - cumulus.LogConsoleMessage("Start Synchronising with console"); - + cumulus.LogConsoleMessage("Start Synchronising with console, run #" + synchroniseAttempts); tmrDataRead.Interval = 500; // half a second } @@ -1318,13 +1356,8 @@ private void StopSynchronising() synchronising = false; tmrDataRead.Interval = 16000; // 16 seconds - synchroniseAttempts = 0; - if (previousSensorClock == DateTime.MinValue) - { - cumulus.LogMessage("Sensor clock " + FOSensorClockTime.ToLongTimeString()); - } - else + if (sensorSync && previousSensorClock != DateTime.MinValue) { secsdiff = (int) Math.Floor((FOSensorClockTime - previousSensorClock).TotalSeconds) % 48; if (secsdiff > 24) @@ -1333,13 +1366,17 @@ private void StopSynchronising() } cumulus.LogMessage("Sensor clock " + FOSensorClockTime.ToLongTimeString() + " drift = " + secsdiff + " seconds"); } - - /* - if (previousStationClock == DateTime.MinValue) + else if (sensorSync) { - cumulus.LogMessage("Station clock " + FOStationClockTime.ToLongTimeString()); + cumulus.LogMessage("Sensor clock " + FOSensorClockTime.ToLongTimeString()); } else + { + cumulus.LogConsoleMessage(" - No sensor change time found"); + cumulus.LogMessage("Synchronisation: No sensor change time found"); + } + + if (stationSync && previousStationClock == DateTime.MinValue) { secsdiff = (int)Math.Floor((FOStationClockTime - previousStationClock).TotalSeconds) % 60; if (secsdiff > 30) @@ -1348,15 +1385,20 @@ private void StopSynchronising() } cumulus.LogMessage("Station clock " + FOStationClockTime.ToLongTimeString() + " drift = " + secsdiff + " seconds"); } - */ + else if (stationSync) + { + cumulus.LogMessage("Station clock " + FOStationClockTime.ToLongTimeString()); + } + else + { + cumulus.LogConsoleMessage(" - No station clock change time found"); + cumulus.LogMessage("Synchronisation: No station clock change time found"); + } + if (hasSolar) { - if (previousSolarClock == DateTime.MinValue) - { - cumulus.LogMessage("Solar clock " + FOSolarClockTime.ToLongTimeString()); - } - else + if (solarSync && previousSolarClock != DateTime.MinValue) { secsdiff = (int)Math.Floor((FOSolarClockTime - previousSolarClock).TotalSeconds) % 60; if (secsdiff > 30) @@ -1365,12 +1407,45 @@ private void StopSynchronising() } cumulus.LogMessage("Solar clock " + FOSolarClockTime.ToLongTimeString() + " drift = " + secsdiff + " seconds"); } + else if (solarSync) + { + cumulus.LogMessage("Solar clock " + FOSolarClockTime.ToLongTimeString()); + } + else + { + cumulus.LogConsoleMessage(" - No solar change time found"); + cumulus.LogMessage("Synchronisation: No solar change time found"); + } } cumulus.LogMessage("Stop Synchronising"); cumulus.LogConsoleMessage("Stop Synchronising"); } + private void InitialiseSync() + { + synchroniseAttempts = 0; + sensorSync = false; + stationSync = false; + solarSync = !hasSolar; + previousSensorClock = FOSensorClockTime; + previousStationClock = FOStationClockTime; + previousSolarClock = FOSolarClockTime; + } + + private void FinaliseSync() + { + cumulus.LogMessage("Finalise Synchronisation"); + // the best we can do is assume the station and CMX clocks are in sync - possibly true if the station has an RCC, otherwise...! + if (!stationSync) + { + var oneMin = new TimeSpan(0, 1, 0); + var now = DateTime.Now; + FOStationClockTime = now.AddTicks(-(now.Ticks % oneMin.Ticks)); + cumulus.LogMessage("Finalise Synchronisation - set station clock change to match CMX clock - best we can do"); + } + } + //public double EWpressureoffset { get; set; } private class HistoryData diff --git a/CumulusMX/Properties/AssemblyInfo.cs b/CumulusMX/Properties/AssemblyInfo.cs index b6fdc272..5f67e524 100644 --- a/CumulusMX/Properties/AssemblyInfo.cs +++ b/CumulusMX/Properties/AssemblyInfo.cs @@ -6,7 +6,7 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Cumulus MX")] -[assembly: AssemblyDescription("Version 3.19.1 - Build 3193")] +[assembly: AssemblyDescription("Version 3.19.1 - Build 3194")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Cumulus MX")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.19.1.3193")] -[assembly: AssemblyFileVersion("3.19.1.3193")] +[assembly: AssemblyVersion("3.19.1.3194")] +[assembly: AssemblyFileVersion("3.19.1.3194")] diff --git a/CumulusMX/WeatherStation.cs b/CumulusMX/WeatherStation.cs index e96ac6e4..522c05eb 100644 --- a/CumulusMX/WeatherStation.cs +++ b/CumulusMX/WeatherStation.cs @@ -1521,7 +1521,7 @@ internal async Task sendWebSocketData(bool wait = false) cumulus.LowTempAlarm.Triggered, cumulus.HighTempAlarm.Triggered, cumulus.TempChangeAlarm.UpTriggered, cumulus.TempChangeAlarm.DownTriggered, cumulus.HighRainTodayAlarm.Triggered, cumulus.HighRainRateAlarm.Triggered, cumulus.LowPressAlarm.Triggered, cumulus.HighPressAlarm.Triggered, cumulus.PressChangeAlarm.UpTriggered, cumulus.PressChangeAlarm.DownTriggered, cumulus.HighGustAlarm.Triggered, cumulus.HighWindAlarm.Triggered, cumulus.SensorAlarm.Triggered, cumulus.BatteryLowAlarm.Triggered, cumulus.SpikeAlarm.Triggered, cumulus.UpgradeAlarm.Triggered, - cumulus.HttpUploadAlarm.Triggered, cumulus.MySqlUploadAlarm.Triggered, + cumulus.HttpUploadAlarm.Triggered, cumulus.MySqlUploadAlarm.Triggered, cumulus.IsRainingAlarm.Triggered, FeelsLike, HiLoToday.HighFeelsLike, HiLoToday.HighFeelsLikeTime.ToString("HH:mm"), HiLoToday.LowFeelsLike, HiLoToday.LowFeelsLikeTime.ToString("HH:mm"), HiLoToday.HighHumidex, HiLoToday.HighHumidexTime.ToString("HH:mm")); @@ -1623,6 +1623,9 @@ private void ClearAlarms() if (cumulus.HighRainTodayAlarm.Latch && cumulus.HighRainTodayAlarm.Triggered && DateTime.Now > cumulus.HighRainTodayAlarm.TriggeredTime.AddHours(cumulus.HighRainTodayAlarm.LatchHours)) cumulus.HighRainTodayAlarm.Triggered = false; + if (cumulus.IsRainingAlarm.Latch && cumulus.IsRainingAlarm.Triggered && DateTime.Now > cumulus.IsRainingAlarm.TriggeredTime.AddHours(cumulus.IsRainingAlarm.LatchHours)) + cumulus.IsRainingAlarm.Triggered = false; + if (cumulus.HighPressAlarm.Latch && cumulus.HighPressAlarm.Triggered && DateTime.Now > cumulus.HighPressAlarm.TriggeredTime.AddHours(cumulus.HighPressAlarm.LatchHours)) cumulus.HighPressAlarm.Triggered = false; @@ -3701,6 +3704,9 @@ public void DoRain(double total, double rate, DateTime timestamp) // scale rainfall rate RainRate = rate * cumulus.Calib.Rain.Mult; + IsRaining = RainRate > 0; + cumulus.IsRainingAlarm.Triggered = IsRaining; + if (RainRate > AllTime.HighRainRate.Val) SetAlltime(AllTime.HighRainRate, RainRate, timestamp); @@ -3737,6 +3743,13 @@ public void DoRain(double total, double rate, DateTime timestamp) { // rain has occurred LastRainTip = timestamp.ToString("yyyy-MM-dd HH:mm"); + IsRaining = true; + cumulus.IsRainingAlarm.Triggered = true; + } + else + { + IsRaining = false; + cumulus.IsRainingAlarm.Triggered = false; } // Calculate today"s rainfall @@ -11865,7 +11878,7 @@ internal string GetCurrentData() cumulus.BeaufortDesc(WindAverage), LastDataReadTimestamp.ToString("HH:mm:ss"), DataStopped, StormRain, stormRainStart, CloudBase, cumulus.CloudBaseInFeet ? "ft" : "m", RainLast24Hour, cumulus.LowTempAlarm.Triggered, cumulus.HighTempAlarm.Triggered, cumulus.TempChangeAlarm.UpTriggered, cumulus.TempChangeAlarm.DownTriggered, cumulus.HighRainTodayAlarm.Triggered, cumulus.HighRainRateAlarm.Triggered, cumulus.LowPressAlarm.Triggered, cumulus.HighPressAlarm.Triggered, cumulus.PressChangeAlarm.UpTriggered, cumulus.PressChangeAlarm.DownTriggered, cumulus.HighGustAlarm.Triggered, cumulus.HighWindAlarm.Triggered, - cumulus.SensorAlarm.Triggered, cumulus.BatteryLowAlarm.Triggered, cumulus.SpikeAlarm.Triggered, cumulus.UpgradeAlarm.Triggered, cumulus.HttpUploadAlarm.Triggered, cumulus.MySqlUploadAlarm.Triggered, + cumulus.SensorAlarm.Triggered, cumulus.BatteryLowAlarm.Triggered, cumulus.SpikeAlarm.Triggered, cumulus.UpgradeAlarm.Triggered, cumulus.HttpUploadAlarm.Triggered, cumulus.MySqlUploadAlarm.Triggered, cumulus.IsRainingAlarm.Triggered, FeelsLike, HiLoToday.HighFeelsLike, HiLoToday.HighFeelsLikeTime.ToString("HH:mm:ss"), HiLoToday.LowFeelsLike, HiLoToday.LowFeelsLikeTime.ToString("HH:mm:ss"), HiLoToday.HighHumidex, HiLoToday.HighHumidexTime.ToString("HH:mm:ss")); diff --git a/CumulusMX/webtags.cs b/CumulusMX/webtags.cs index 30bb2989..f32183a2 100644 --- a/CumulusMX/webtags.cs +++ b/CumulusMX/webtags.cs @@ -4096,6 +4096,16 @@ private string TagHighRainRateAlarm(Dictionary tagParams) return "0"; } + private string TagIsRainingAlarm(Dictionary tagParams) + { + if (cumulus.IsRainingAlarm.Enabled) + { + return cumulus.IsRainingAlarm.Triggered ? "1" : "0"; + } + + return "0"; + } + private string TagHighWindGustAlarm(Dictionary tagParams) { if (cumulus.HighGustAlarm.Enabled) @@ -5876,6 +5886,7 @@ public void InitialiseWebtags() { "PressChangeDownAlarm", TagPressChangeDownAlarm }, { "HighRainTodayAlarm", TagHighRainTodayAlarm }, { "HighRainRateAlarm", TagHighRainRateAlarm }, + { "IsRainingAlarm", TagIsRainingAlarm }, { "HighWindGustAlarm", TagHighWindGustAlarm }, { "HighWindSpeedAlarm", TagHighWindSpeedAlarm }, { "BatteryLowAlarm", TagBatteryLowAlarm }, diff --git a/Updates.txt b/Updates.txt index 254edeed..166780b0 100644 --- a/Updates.txt +++ b/Updates.txt @@ -1,4 +1,4 @@ -3.19.1 - b3193 +3.19.1 - b3194 —————————————— Fixed - Dashboard occasionally showing zero values when using Ecowitt/Ambient extra sensors with the extra HTTP station feature @@ -8,6 +8,8 @@ Fixed New - Added new midnight temperature range tags for today and yesterday <#tempMidnightRangeT> <#tempMidnightRangeY> +- Adds new "Is Raining" alarm, triggered either via a Hydreon RG-11 device, or rain rate > 0 + The alarm has a new associated web tag <#IsRainingAlarm> 3.19.0 - b3191 From cad6784363bf4dd7c160d04ed3e4370e433209e2 Mon Sep 17 00:00:00 2001 From: Mark Crossley <1196094+mcrossley@users.noreply.github.com> Date: Wed, 13 Jul 2022 19:10:51 +0100 Subject: [PATCH 11/11] IsRaining updates --- CumulusMX/Cumulus.cs | 6 ++++- CumulusMX/HttpStationEcowitt.cs | 42 +++++++++++++++++---------------- CumulusMX/StationSettings.cs | 10 +++++++- CumulusMX/WeatherStation.cs | 18 ++++++++++---- Updates.txt | 2 ++ 5 files changed, 51 insertions(+), 27 deletions(-) diff --git a/CumulusMX/Cumulus.cs b/CumulusMX/Cumulus.cs index 4414667b..936a2cea 100644 --- a/CumulusMX/Cumulus.cs +++ b/CumulusMX/Cumulus.cs @@ -3919,6 +3919,7 @@ private void ReadIniFile() StationOptions.UseWind10MinAvg = ini.GetValue("Station", "Wind10MinAverage", false); StationOptions.UseSpeedForAvgCalc = ini.GetValue("Station", "UseSpeedForAvgCalc", false); StationOptions.UseSpeedForLatest = ini.GetValue("Station", "UseSpeedForLatest", false); + StationOptions.UseRainForIsRaining = ini.GetValue("Station", "UseRainForIsRaining", false); StationOptions.AvgBearingMinutes = ini.GetValue("Station", "AvgBearingMinutes", 10); if (StationOptions.AvgBearingMinutes > 120) @@ -5181,6 +5182,8 @@ internal void WriteIniFile() ini.SetValue("Station", "LCMaxWind", LCMaxWind); ini.SetValue("Station", "RecordSetTimeoutHrs", RecordSetTimeoutHrs); ini.SetValue("Station", "SnowDepthHour", SnowDepthHour); + ini.SetValue("Station", "UseRainForIsRaining", StationOptions.UseRainForIsRaining); + ini.SetValue("Station", "Logging", ProgramOptions.DebugLogging); ini.SetValue("Station", "DataLogging", ProgramOptions.DataLogging); @@ -6907,7 +6910,7 @@ public async void DoLogFile(DateTime timestamp, bool live) } catch (Exception ex) { - LogMessage("DoLogFile: Error - " + exceptional.Message); + LogMessage("DoLogFile: Error - " + ex.Message); } } else if (MySqlSettings.BufferOnfailure) @@ -10696,6 +10699,7 @@ public class StationOptions public int AvgBearingMinutes { get; set; } public int AvgSpeedMinutes { get; set; } public int PeakGustMinutes { get; set; } + public bool UseRainForIsRaining { get; set; } } public class FtpOptionsClass diff --git a/CumulusMX/HttpStationEcowitt.cs b/CumulusMX/HttpStationEcowitt.cs index f560e5c4..4cb59d94 100644 --- a/CumulusMX/HttpStationEcowitt.cs +++ b/CumulusMX/HttpStationEcowitt.cs @@ -335,7 +335,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) if (gust == null || dir == null || spd == null) { - cumulus.LogDebugMessage($"ProcessData: Error, missing wind data"); + cumulus.LogDebugMessage($"{procName}: Error, missing wind data"); } else { @@ -349,7 +349,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in Wind data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in Wind data - {ex.Message}"); return "Failed: Error in wind data - " + ex.Message; } @@ -364,7 +364,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) if (humIn == null) { - cumulus.LogMessage($"ProcessData: Error, missing indoor humidity"); + cumulus.LogMessage($"{procName}: Error, missing indoor humidity"); } else { @@ -376,7 +376,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) { if (thisHum == null) { - cumulus.LogDebugMessage("ProcessData: Error, missing outdoor humidity"); + cumulus.LogDebugMessage($"{procName}: Error, missing outdoor humidity"); } else { @@ -387,7 +387,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in Humidity data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in Humidity data - {ex.Message}"); return "Failed: Error in humidity data - " + ex.Message; } @@ -402,7 +402,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) if (press == null) { - cumulus.LogDebugMessage($"ProcessData: Error, missing baro pressure"); + cumulus.LogDebugMessage($"{procName}: Error, missing baro pressure"); } else { @@ -413,7 +413,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in Pressure data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in Pressure data - {ex.Message}"); return "Failed: Error in baro pressure data - " + ex.Message; } @@ -427,7 +427,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) if (temp == null) { - cumulus.LogDebugMessage($"ProcessData: Error, missing indoor temp"); + cumulus.LogDebugMessage($"{procName}: Error, missing indoor temp"); } else { @@ -437,7 +437,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in Indoor temp data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in Indoor temp data - {ex.Message}"); return "Failed: Error in indoor temp data - " + ex.Message; } @@ -450,7 +450,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) { if (thisTemp == null) { - cumulus.LogDebugMessage($"ProcessData: Error, missing outdoor temp"); + cumulus.LogDebugMessage($"{procName}: Error, missing outdoor temp"); } else { @@ -461,7 +461,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in Outdoor temp data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in Outdoor temp data - {ex.Message}"); return "Failed: Error in outdoor temp data - " + ex.Message; } @@ -516,7 +516,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) if (rain == null) { - cumulus.LogDebugMessage($"ProcessData: Error, missing rainfall"); + cumulus.LogDebugMessage($"{procName}: Error, missing rainfall"); } else { @@ -527,7 +527,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in Rain data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in Rain data - {ex.Message}"); return "Failed: Error in rainfall data - " + ex.Message; } } @@ -802,7 +802,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } else if (dewpnt == null) { - cumulus.LogMessage($"ProcessData: Error, missing dew point"); + cumulus.LogMessage($"{procName}: Error, missing dew point"); } else { @@ -812,7 +812,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in Dew point data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in Dew point data - " + ex.Message); return "Failed: Error in dew point data - " + ex.Message; } @@ -829,7 +829,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } else { - cumulus.LogMessage($"ProcessData: Insufficient data to calculate wind chill"); + cumulus.LogMessage($"{procName}: Insufficient data to calculate wind chill"); } } else @@ -837,7 +837,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) var chill = data["windchillf"]; if (chill == null) { - cumulus.LogMessage($"ProcessData: Error, missing wind chill"); + cumulus.LogMessage($"{procName}: Error, missing wind chill"); } else { @@ -848,7 +848,7 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } catch (Exception ex) { - cumulus.LogMessage("ProcessData: Error in wind chill data - " + ex.Message); + cumulus.LogMessage($"{procName}: Error in wind chill data - " + ex.Message); return "Failed: Error in wind chill data - " + ex.Message; } @@ -867,12 +867,12 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) } else { - cumulus.LogMessage("ProcessData: Insufficient data to calculate Apparent/Feels Like temps"); + cumulus.LogMessage($"{procName}: Insufficient data to calculate Apparent/Feels Like temps"); } } else { - cumulus.LogMessage("ProcessData: Insufficient data to calculate Humidex and Apparent/Feels Like temps"); + cumulus.LogMessage($"{procName}: Insufficient data to calculate Humidex and Apparent/Feels Like temps"); } } @@ -887,6 +887,8 @@ public string ApplyData(string dataString, bool main, DateTime? ts = null) return "Failed: General error - " + ex.Message; } + cumulus.LogDebugMessage($"{procName}: Complete"); + return ""; } diff --git a/CumulusMX/StationSettings.cs b/CumulusMX/StationSettings.cs index 32f43324..59db9b03 100644 --- a/CumulusMX/StationSettings.cs +++ b/CumulusMX/StationSettings.cs @@ -26,6 +26,8 @@ internal void SetStation(WeatherStation station) internal string GetAlpacaFormData() { // Build the settings data, convert to JSON, and return it + + // Common > Advanced Settings var optionsAdv = new JsonStationSettingsOptionsAdvanced() { usespeedforavg = cumulus.StationOptions.UseSpeedForAvgCalc, @@ -35,9 +37,11 @@ internal string GetAlpacaFormData() maxwind = cumulus.LCMaxWind, recordtimeout = cumulus.RecordSetTimeoutHrs, snowdepthhour = cumulus.SnowDepthHour, - raindaythreshold = cumulus.RainDayThreshold + raindaythreshold = cumulus.RainDayThreshold, + userainforisraining = cumulus.StationOptions.UseRainForIsRaining }; + // Common Settings var options = new JsonStationSettingsOptions() { usezerobearing = cumulus.StationOptions.UseZeroBearing, @@ -63,6 +67,7 @@ internal string GetAlpacaFormData() displayuv = cumulus.DisplayOptions.ShowUV }; + // Units > Advanced var unitsAdv = new JsonStationSettingsUnitsAdvanced { airqulaitydp = cumulus.AirQualityDPlaces, @@ -76,6 +81,7 @@ internal string GetAlpacaFormData() windrundp = cumulus.WindRunDPlaces }; + // Units var units = new JsonStationSettingsUnits() { wind = cumulus.Units.Wind, @@ -761,6 +767,7 @@ internal string UpdateConfig(IHttpContext context) cumulus.RecordSetTimeoutHrs = settings.Options.advanced.recordtimeout; cumulus.SnowDepthHour = settings.Options.advanced.snowdepthhour; cumulus.RainDayThreshold = settings.Options.advanced.raindaythreshold; + cumulus.StationOptions.UseRainForIsRaining = settings.Options.advanced.userainforisraining; } catch (Exception ex) { @@ -1561,6 +1568,7 @@ internal class JsonStationSettingsOptionsAdvanced public int recordtimeout { get; set; } public int snowdepthhour { get; set; } public double raindaythreshold { get; set; } + public bool userainforisraining { get; set; } } internal class JsonStationSettingsOptions diff --git a/CumulusMX/WeatherStation.cs b/CumulusMX/WeatherStation.cs index 522c05eb..ff4fa5fc 100644 --- a/CumulusMX/WeatherStation.cs +++ b/CumulusMX/WeatherStation.cs @@ -3593,6 +3593,7 @@ public void DoRain(double total, double rate, DateTime timestamp) { // A reading has apparently arrived at the start of a new day, but before we have done the roll-over // Ignore it, as otherwise it may cause a new monthly record to be logged using last month's total + cumulus.LogDebugMessage("DoRain: A reading arrived at the start of a new day, but before we have done the roll-over. Ignoring it"); return; } @@ -3704,8 +3705,11 @@ public void DoRain(double total, double rate, DateTime timestamp) // scale rainfall rate RainRate = rate * cumulus.Calib.Rain.Mult; - IsRaining = RainRate > 0; - cumulus.IsRainingAlarm.Triggered = IsRaining; + if (cumulus.StationOptions.UseRainForIsRaining) + { + IsRaining = RainRate > 0; + cumulus.IsRainingAlarm.Triggered = IsRaining; + } if (RainRate > AllTime.HighRainRate.Val) SetAlltime(AllTime.HighRainRate, RainRate, timestamp); @@ -3743,10 +3747,14 @@ public void DoRain(double total, double rate, DateTime timestamp) { // rain has occurred LastRainTip = timestamp.ToString("yyyy-MM-dd HH:mm"); - IsRaining = true; - cumulus.IsRainingAlarm.Triggered = true; + + if (cumulus.StationOptions.UseRainForIsRaining) + { + IsRaining = true; + cumulus.IsRainingAlarm.Triggered = true; + } } - else + else if (cumulus.StationOptions.UseRainForIsRaining && RainRate <= 0) { IsRaining = false; cumulus.IsRainingAlarm.Triggered = false; diff --git a/Updates.txt b/Updates.txt index 166780b0..2eb6c582 100644 --- a/Updates.txt +++ b/Updates.txt @@ -4,12 +4,14 @@ Fixed - Dashboard occasionally showing zero values when using Ecowitt/Ambient extra sensors with the extra HTTP station feature - Sunshine Hours graph data had badly formed JSON - Fine Offset station getting into a data read synchronisation loop when synchronisation fails. It will now give up after two attempts +- Potential fix for FTP client locking files on connection error New - Added new midnight temperature range tags for today and yesterday <#tempMidnightRangeT> <#tempMidnightRangeY> - Adds new "Is Raining" alarm, triggered either via a Hydreon RG-11 device, or rain rate > 0 The alarm has a new associated web tag <#IsRainingAlarm> +- Adds a new option under Station > Common Options > Advanced Options to use station rainfall (rate > 0 or tip occurred) to trigger IsRaining 3.19.0 - b3191