Skip to content

Commit 104def9

Browse files
committed
WinNUT.vb change to status update logic, logging
Modify the logic for handling a UPS status update which will prevent the None status from always showing up. Also log the program version on startup.
1 parent cc71cb0 commit 104def9

File tree

1 file changed

+22
-24
lines changed

1 file changed

+22
-24
lines changed

WinNUT_V2/WinNUT-Client/WinNUT.vb

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,9 @@ Public Class WinNUT
279279
Update_Frm.Visible = True
280280
HasFocus = False
281281
End If
282-
'ToastPopup.CreateToastCollection()
283-
' RaiseEvent RequestConnect()
282+
283+
LogFile.LogTracing(String.Format("{0} v{1} completed initialization.", My.Application.Info.ProductName, My.Application.Info.Version),
284+
LogLvl.LOG_NOTICE, Me)
284285
End Sub
285286

286287
Private Sub SystemEvents_PowerModeChanged(sender As Object, e As Microsoft.Win32.PowerModeChangedEventArgs)
@@ -1034,31 +1035,28 @@ Public Class WinNUT
10341035

10351036
Private Sub HandleUPSStatusChange(sender As UPS_Device, newStatuses As UPS_States) Handles UPS_Device.StatusesChanged
10361037
LogFile.LogTracing("Handling new UPS status(es)...", LogLvl.LOG_DEBUG, Me)
1037-
Dim statusString As String = ""
10381038

10391039
With sender.UPS_Datas.UPS_Value
1040-
For Each status In [Enum].GetValues(GetType(UPS_States))
1041-
If newStatuses.HasFlag(status) Then
1042-
statusString &= [Enum].GetName(GetType(UPS_States), status) & " "
1043-
' Determine if we need to initiate the stop procedure.
1044-
If status = UPS_States.FSD Then
1045-
LogFile.LogTracing("Full Shut Down imposed by the NUT server.", LogLvl.LOG_NOTICE, Me, StrLog.Item(AppResxStr.STR_LOG_NUT_FSD))
1046-
Shutdown_Event()
1047-
ElseIf status = UPS_States.OB And
1048-
(.Batt_Charge <= Arr_Reg_Key.Item("ShutdownLimitBatteryCharge") Or
1049-
.Batt_Runtime <= Arr_Reg_Key.Item("ShutdownLimitUPSRemainTime")) And
1050-
Not ShutdownStatus Then
1051-
LogFile.LogTracing("UPS battery has dropped below stop condition limits.", LogLvl.LOG_NOTICE, Me, WinNUT_Globals.StrLog.Item(AppResxStr.STR_LOG_SHUT_START))
1052-
Shutdown_Event()
1053-
ElseIf status = UPS_States.OL AndAlso ShutdownStatus Then
1054-
LogFile.LogTracing("UPS returned online during a pre-shutdown event.", LogLvl.LOG_NOTICE, Me)
1055-
Stop_Shutdown_Event()
1056-
End If
1057-
End If
1058-
Next
1040+
If newStatuses.Equals(UPS_States.None) Then
1041+
LogFile.LogTracing("Received unexpected None status from UPS.", LogLvl.LOG_WARNING, Me)
1042+
' Determine if we need to initiate the stop procedure.
1043+
1044+
ElseIf newStatuses.HasFlag(UPS_States.FSD) Then
1045+
LogFile.LogTracing("Full Shut Down imposed by the NUT server.", LogLvl.LOG_NOTICE, Me, StrLog.Item(AppResxStr.STR_LOG_NUT_FSD))
1046+
Shutdown_Event()
1047+
1048+
ElseIf newStatuses.HasFlag(UPS_States.OB) And
1049+
(.Batt_Charge <= Arr_Reg_Key.Item("ShutdownLimitBatteryCharge") Or
1050+
.Batt_Runtime <= Arr_Reg_Key.Item("ShutdownLimitUPSRemainTime")) And
1051+
Not ShutdownStatus Then
1052+
LogFile.LogTracing("UPS battery has dropped below stop condition limits.", LogLvl.LOG_NOTICE, Me, WinNUT_Globals.StrLog.Item(AppResxStr.STR_LOG_SHUT_START))
1053+
Shutdown_Event()
1054+
1055+
ElseIf newStatuses.HasFlag(UPS_States.OL) AndAlso ShutdownStatus Then
1056+
LogFile.LogTracing("UPS returned online during a pre-shutdown event.", LogLvl.LOG_NOTICE, Me)
1057+
Stop_Shutdown_Event()
1058+
End If
10591059
End With
1060-
1061-
LogFile.LogTracing("Finished handling new UPS statuses: " & statusString, LogLvl.LOG_NOTICE, Me)
10621060
End Sub
10631061

10641062
''' <summary>

0 commit comments

Comments
 (0)