networkupstools / nut

The Network UPS Tools repository. UPS management protocol Informational RFC 9271 published by IETF at https://www.rfc-editor.org/info/rfc9271 Please star NUT on GitHub, this helps with sponsorships!
https://networkupstools.org/
Other
1.99k stars 349 forks source link

support for PowerWalker VI 1500 RT HID #569

Open goldie83 opened 6 years ago

goldie83 commented 6 years ago

Hi I have a PowerWalker VI 1500 RT HID, trying to use the usbhid-ups driver, but I do not see any commands:

Link: https://powerwalker.com/?page=product&item=10120023

$ upsc pw
Init SSL without certificate database
battery.charge: 100
battery.runtime: 5282
battery.type: PbAc
battery.voltage: 41
battery.voltage.nominal: 36
device.mfr: PPC
device.model: HID UPS
device.serial: 716317C00120
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.productid: ffff
driver.parameter.vendorid: 06da
driver.version: 2.7.2
driver.version.data: Liebert HID 0.3
driver.version.internal: 0.38
ups.load: 18
ups.mfr: PPC
ups.model: HID UPS
ups.productid: ffff
ups.serial: 716317C00120
ups.status: OL CHRG
ups.vendorid: 06da

Output from /lib/nut/usbhid-ups -DD -a pw

   0.000000     debug level is '2'
   0.002392     upsdrv_initups...
   0.003650     Checking device (174C/1153) (001/006)
   0.003821     - VendorID: 174c
   0.003868     - ProductID: 1153
   0.003909     - Manufacturer: unknown
   0.003949     - Product: unknown
   0.003989     - Serial Number: unknown
   0.004029     - Bus: 001
   0.004067     Trying to match device
   0.004117     Device does not match - skipping
   0.004174     Checking device (06DA/FFFF) (001/005)
   0.010156     - VendorID: 06da
   0.010204     - ProductID: ffff
   0.010245     - Manufacturer: PPC
   0.010285     - Product: HID UPS
   0.010324     - Serial Number: 716317C00120
   0.010364     - Bus: 001
   0.010403     Trying to match device
   0.010563     Device matches
   0.011565     HID descriptor length 1393
   0.033784     Report Descriptor size = 1393
   0.036523     Using subdriver: Liebert HID 0.3
   0.037062     Path: UPS.BatterySystem.Battery.BatteryID, Type: Feature, ReportID: 0x20, Offset: 0, Size: 8, Value: 1
   0.037555     Path: UPS.BatterySystem.Battery.ffff0090, Type: Feature, ReportID: 0x21, Offset: 0, Size: 8, Value: 3
   0.038061     Path: UPS.BatterySystem.Battery.PresentStatus.Present, Type: Feature, ReportID: 0x27, Offset: 0, Size: 8, Value: 1
   0.038141     Path: UPS.BatterySystem.Battery.PresentStatus.Present, Type: Input, ReportID: 0x27, Offset: 0, Size: 8, Value: 1
   0.038217     Path: UPS.BatterySystem.Battery.PresentStatus.ffff0074, Type: Feature, ReportID: 0x27, Offset: 8, Size: 8, Value: 0
   0.038292     Path: UPS.BatterySystem.Battery.PresentStatus.ffff0074, Type: Input, ReportID: 0x27, Offset: 8, Size: 8, Value: 0
   0.038801     Path: UPS.BatterySystem.Battery.Test, Type: Feature, ReportID: 0x24, Offset: 0, Size: 8, Value: 1
   0.040554     Path: UPS.BatterySystem.Battery.ffff00e3, Type: Feature, ReportID: 0xe3, Offset: 0, Size: 8, Value: 1
   0.041067     Path: UPS.BatterySystem.Battery.ffff0045, Type: Feature, ReportID: 0x25, Offset: 0, Size: 32, Value: 2.4192e+06
   0.041138     Path: UPS.BatterySystem.BatterySystemID, Type: Feature, ReportID: 0x20, Offset: 8, Size: 8, Value: 1
   0.041206     Path: UPS.BatterySystem.Charger.ChargerID, Type: Feature, ReportID: 0x20, Offset: 16, Size: 8, Value: 1
   0.041677     Path: UPS.BatterySystem.Charger.ffff0094, Type: Feature, ReportID: 0x26, Offset: 0, Size: 8, Value: 4
   0.041757     Path: UPS.BatterySystem.Charger.PresentStatus.ffff0079, Type: Feature, ReportID: 0x27, Offset: 16, Size: 8, Value: 0
   0.041832     Path: UPS.BatterySystem.Charger.PresentStatus.ffff0079, Type: Input, ReportID: 0x27, Offset: 16, Size: 8, Value: 0
   0.041905     Path: UPS.BatterySystem.Charger.PresentStatus.InternalFailure, Type: Feature, ReportID: 0x27, Offset: 24, Size: 8, Value: 0
   0.041978     Path: UPS.BatterySystem.Charger.PresentStatus.InternalFailure, Type: Input, ReportID: 0x27, Offset: 24, Size: 8, Value: 0
   0.042052     Path: UPS.BatterySystem.Charger.PresentStatus.Used, Type: Feature, ReportID: 0x27, Offset: 32, Size: 8, Value: 1
   0.042125     Path: UPS.BatterySystem.Charger.PresentStatus.Used, Type: Input, ReportID: 0x27, Offset: 32, Size: 8, Value: 1
   0.042555     Path: UPS.Flow.[1].ConfigFrequency, Type: Feature, ReportID: 0x14, Offset: 0, Size: 8, Value: 50
   0.043060     Path: UPS.Flow.[1].ConfigVoltage, Type: Feature, ReportID: 0x15, Offset: 0, Size: 8, Value: 230
   0.043561     Path: UPS.Flow.[1].FlowID, Type: Feature, ReportID: 0x0b, Offset: 0, Size: 8, Value: 1
   0.044061     Path: UPS.Flow.[4].ConfigActivePower, Type: Feature, ReportID: 0x74, Offset: 0, Size: 16, Value: 1350
   0.044141     Path: UPS.Flow.[4].ConfigApparentPower, Type: Feature, ReportID: 0x74, Offset: 16, Size: 16, Value: 1500
   0.044679     Path: UPS.Flow.[4].ConfigFrequency, Type: Feature, ReportID: 0x36, Offset: 0, Size: 8, Value: 50
   0.045179     Path: UPS.Flow.[4].ConfigPercentLoad, Type: Feature, ReportID: 0x16, Offset: 0, Size: 8, Value: 110
   0.045680     Path: UPS.Flow.[4].ConfigVoltage, Type: Feature, ReportID: 0x72, Offset: 0, Size: 8, Value: 230
   0.045759     Path: UPS.Flow.[4].FlowID, Type: Feature, ReportID: 0x0b, Offset: 8, Size: 8, Value: 4
   0.047442     Path: UPS.OutletSystem.Outlet.[1].FlowID, Type: Feature, ReportID: 0x80, Offset: 0, Size: 8, Value: 4
   0.047525     Path: UPS.OutletSystem.Outlet.[1].OutletID, Type: Feature, ReportID: 0x80, Offset: 8, Size: 8, Value: 0
   0.049313     Path: UPS.OutletSystem.Outlet.[1].PresentStatus.Switchable, Type: Feature, ReportID: 0x81, Offset: 0, Size: 8, Value: 0
   0.051061     Path: UPS.OutletSystem.Outlet.[2].DelayBeforeShutdown, Type: Feature, ReportID: 0x8d, Offset: 0, Size: 32, Value: -1
   0.052811     Path: UPS.OutletSystem.Outlet.[2].DelayBeforeStartup, Type: Feature, ReportID: 0x90, Offset: 0, Size: 32, Value: -1
   0.052962     Path: UPS.OutletSystem.Outlet.[2].FlowID, Type: Feature, ReportID: 0x80, Offset: 16, Size: 8, Value: 4
   0.053053     Path: UPS.OutletSystem.Outlet.[2].OutletID, Type: Feature, ReportID: 0x80, Offset: 24, Size: 8, Value: 1
   0.053128     Path: UPS.OutletSystem.Outlet.[2].PresentStatus.Switchable, Type: Feature, ReportID: 0x81, Offset: 8, Size: 8, Value: 1
   0.054812     Path: UPS.OutletSystem.Outlet.[2].PresentStatus.SwitchOn/Off, Type: Feature, ReportID: 0x82, Offset: 0, Size: 8, Value: 1
   0.054890     Path: UPS.OutletSystem.Outlet.[2].PresentStatus.SwitchOn/Off, Type: Input, ReportID: 0x82, Offset: 0, Size: 8, Value: 1
   0.056562     Path: UPS.OutletSystem.Outlet.[2].ffff005d, Type: Feature, ReportID: 0x87, Offset: 0, Size: 32, Value: -1
   0.058313     Path: UPS.OutletSystem.Outlet.[2].ffff005e, Type: Feature, ReportID: 0x8a, Offset: 0, Size: 32, Value: 3
   0.060062     Path: UPS.OutletSystem.Outlet.[3].DelayBeforeShutdown, Type: Feature, ReportID: 0x8e, Offset: 0, Size: 32, Value: -1
   0.061811     Path: UPS.OutletSystem.Outlet.[3].DelayBeforeStartup, Type: Feature, ReportID: 0x91, Offset: 0, Size: 32, Value: -1
   0.061894     Path: UPS.OutletSystem.Outlet.[3].FlowID, Type: Feature, ReportID: 0x80, Offset: 32, Size: 8, Value: 4
   0.061974     Path: UPS.OutletSystem.Outlet.[3].OutletID, Type: Feature, ReportID: 0x80, Offset: 40, Size: 8, Value: 2
   0.062049     Path: UPS.OutletSystem.Outlet.[3].PresentStatus.Switchable, Type: Feature, ReportID: 0x81, Offset: 16, Size: 8, Value: 1
   0.062123     Path: UPS.OutletSystem.Outlet.[3].PresentStatus.SwitchOn/Off, Type: Feature, ReportID: 0x82, Offset: 8, Size: 8, Value: 1
   0.062196     Path: UPS.OutletSystem.Outlet.[3].PresentStatus.SwitchOn/Off, Type: Input, ReportID: 0x82, Offset: 8, Size: 8, Value: 1
   0.063941     Path: UPS.OutletSystem.Outlet.[3].ffff005d, Type: Feature, ReportID: 0x88, Offset: 0, Size: 32, Value: -1
   0.065689     Path: UPS.OutletSystem.Outlet.[3].ffff005e, Type: Feature, ReportID: 0x8b, Offset: 0, Size: 32, Value: 6
   0.067425     Path: UPS.OutletSystem.ffff00c0, Type: Feature, ReportID: 0xc0, Offset: 0, Size: 8, Value: 2
   0.067501     Path: UPS.OutletSystem.OutletSystemID, Type: Feature, ReportID: 0x80, Offset: 48, Size: 8, Value: 1
   0.069178     Path: UPS.PowerConverter.ffff0041, Type: Feature, ReportID: 0x4a, Offset: 0, Size: 8, Value: 1
   0.069683     Path: UPS.PowerConverter.Input.[1].ffff0043, Type: Feature, ReportID: 0x73, Offset: 0, Size: 8, Value: 1
   0.071432     Path: UPS.PowerConverter.Input.[1].ffff0094, Type: Feature, ReportID: 0xc1, Offset: 0, Size: 8, Value: 0
   0.071934     Path: UPS.PowerConverter.Input.[1].FlowID, Type: Feature, ReportID: 0x30, Offset: 0, Size: 8, Value: 1
   0.072436     Path: UPS.PowerConverter.Input.[1].Frequency, Type: Feature, ReportID: 0x31, Offset: 0, Size: 16, Value: 50
   0.072515     Path: UPS.PowerConverter.Input.[1].InputID, Type: Feature, ReportID: 0x30, Offset: 8, Size: 8, Value: 1
   0.074190     Path: UPS.PowerConverter.Input.[1].PresentStatus.Boost, Type: Feature, ReportID: 0x2d, Offset: 0, Size: 8, Value: 0
   0.074274     Path: UPS.PowerConverter.Input.[1].PresentStatus.Boost, Type: Input, ReportID: 0x2d, Offset: 0, Size: 8, Value: 0
   0.074348     Path: UPS.PowerConverter.Input.[1].PresentStatus.Buck, Type: Feature, ReportID: 0x2d, Offset: 8, Size: 8, Value: 0
   0.074421     Path: UPS.PowerConverter.Input.[1].PresentStatus.Buck, Type: Input, ReportID: 0x2d, Offset: 8, Size: 8, Value: 0
   0.074941     Path: UPS.PowerConverter.Input.[1].PresentStatus.FrequencyOutOfRange, Type: Feature, ReportID: 0x32, Offset: 0, Size: 8, Value: 0
   0.075021     Path: UPS.PowerConverter.Input.[1].PresentStatus.FrequencyOutOfRange, Type: Input, ReportID: 0x32, Offset: 0, Size: 8, Value: 0
   0.075127     Path: UPS.PowerConverter.Input.[1].PresentStatus.VoltageOutOfRange, Type: Feature, ReportID: 0x32, Offset: 8, Size: 8, Value: 0
   0.075203     Path: UPS.PowerConverter.Input.[1].PresentStatus.VoltageOutOfRange, Type: Input, ReportID: 0x32, Offset: 8, Size: 8, Value: 0
   0.075280     Path: UPS.PowerConverter.Input.[1].PresentStatus.ffff0078, Type: Feature, ReportID: 0x32, Offset: 16, Size: 8, Value: 0
   0.075356     Path: UPS.PowerConverter.Input.[1].PresentStatus.ffff0078, Type: Input, ReportID: 0x32, Offset: 16, Size: 8, Value: 0
   0.075432     Path: UPS.PowerConverter.Input.[1].Voltage, Type: Feature, ReportID: 0x31, Offset: 16, Size: 16, Value: 229
   0.075936     Path: UPS.PowerConverter.Input.[3].ffff0046, Type: Feature, ReportID: 0x39, Offset: 0, Size: 8, Value: 0
   0.076014     Path: UPS.PowerConverter.Input.[3].FlowID, Type: Feature, ReportID: 0x30, Offset: 16, Size: 8, Value: 3
   0.076089     Path: UPS.PowerConverter.Input.[3].InputID, Type: Feature, ReportID: 0x30, Offset: 24, Size: 8, Value: 3
   0.076572     Path: UPS.PowerConverter.Input.[3].PresentStatus.Used, Type: Feature, ReportID: 0x3b, Offset: 0, Size: 8, Value: 1
   0.076648     Path: UPS.PowerConverter.Input.[3].PresentStatus.Used, Type: Input, ReportID: 0x3b, Offset: 0, Size: 8, Value: 1
   0.077185     Path: UPS.PowerConverter.Input.[3].ffff0047, Type: Feature, ReportID: 0x3a, Offset: 0, Size: 8, Value: 1
   0.077690     Path: UPS.PowerConverter.ffff0014.ffff0015, Type: Feature, ReportID: 0x40, Offset: 0, Size: 8, Value: 1
   0.078188     Path: UPS.PowerConverter.ffff0014.PresentStatus.Used, Type: Feature, ReportID: 0x41, Offset: 0, Size: 8, Value: 0
   0.078263     Path: UPS.PowerConverter.ffff0014.PresentStatus.Used, Type: Input, ReportID: 0x41, Offset: 0, Size: 8, Value: 0
   0.079939     Path: UPS.PowerConverter.ffff0014.PresentStatus.ffff0074, Type: Feature, ReportID: 0x3e, Offset: 0, Size: 8, Value: 0
   0.080016     Path: UPS.PowerConverter.ffff0014.PresentStatus.ffff0074, Type: Input, ReportID: 0x3e, Offset: 0, Size: 8, Value: 0
   0.080089     Path: UPS.PowerConverter.ffff0014.PresentStatus.ffff0075, Type: Feature, ReportID: 0x3e, Offset: 8, Size: 8, Value: 0
   0.080162     Path: UPS.PowerConverter.ffff0014.PresentStatus.ffff0075, Type: Input, ReportID: 0x3e, Offset: 8, Size: 8, Value: 0
   0.080817     Path: UPS.PowerConverter.Output.ActivePower, Type: Feature, ReportID: 0x42, Offset: 0, Size: 16, Value: 192
   0.080901     Path: UPS.PowerConverter.Output.ApparentPower, Type: Feature, ReportID: 0x42, Offset: 16, Size: 16, Value: 289
   0.080971     Path: UPS.PowerConverter.Output.FlowID, Type: Feature, ReportID: 0x40, Offset: 8, Size: 8, Value: 4
   0.081048     Path: UPS.PowerConverter.Output.Frequency, Type: Feature, ReportID: 0x42, Offset: 32, Size: 16, Value: 50
   0.081560     Path: UPS.PowerConverter.Output.ffff0053, Type: Feature, ReportID: 0x4d, Offset: 0, Size: 16, Value: 243
   0.082059     Path: UPS.PowerConverter.Output.HighVoltageTransfer, Type: Feature, ReportID: 0x48, Offset: 0, Size: 16, Value: 276
   0.082559     Path: UPS.PowerConverter.Output.ffff0050, Type: Feature, ReportID: 0x4e, Offset: 0, Size: 16, Value: 207
   0.083064     Path: UPS.PowerConverter.Output.LowVoltageTransfer, Type: Feature, ReportID: 0x47, Offset: 0, Size: 16, Value: 184
   0.083145     Path: UPS.PowerConverter.Output.OutputID, Type: Feature, ReportID: 0x40, Offset: 16, Size: 8, Value: 1
   0.083684     Path: UPS.PowerConverter.Output.PresentStatus.ffff004a, Type: Feature, ReportID: 0x49, Offset: 0, Size: 8, Value: 0
   0.083759     Path: UPS.PowerConverter.Output.PresentStatus.ffff004a, Type: Input, ReportID: 0x49, Offset: 0, Size: 8, Value: 0
   0.083837     Path: UPS.PowerConverter.Output.Voltage, Type: Feature, ReportID: 0x42, Offset: 48, Size: 16, Value: 228
   0.083904     Path: UPS.PowerConverter.PowerConverterID, Type: Feature, ReportID: 0x40, Offset: 24, Size: 8, Value: 1
   0.084428     Path: UPS.PowerSummary.AudibleAlarmControl, Type: Feature, ReportID: 0x13, Offset: 0, Size: 8, Value: 2
   0.084933     Path: UPS.PowerSummary.CapacityGranularity1, Type: Feature, ReportID: 0x0c, Offset: 0, Size: 8, Value: 1
   0.085033     Path: UPS.PowerSummary.CapacityMode, Type: Feature, ReportID: 0x0c, Offset: 8, Size: 8, Value: 2
   0.085553     Path: UPS.PowerSummary.ConfigVoltage, Type: Feature, ReportID: 0x0d, Offset: 0, Size: 8, Value: 36
   0.085629     Path: UPS.PowerSummary.ffff0095, Type: Feature, ReportID: 0x0b, Offset: 16, Size: 8, Value: 0
   0.086056     Path: UPS.PowerSummary.DelayBeforeShutdown, Type: Feature, ReportID: 0x09, Offset: 0, Size: 32, Value: -1
   0.086557     Path: UPS.PowerSummary.DelayBeforeStartup, Type: Feature, ReportID: 0x0a, Offset: 0, Size: 32, Value: -1
   0.086633     Path: UPS.PowerSummary.DesignCapacity, Type: Feature, ReportID: 0x0c, Offset: 16, Size: 8, Value: 100
   0.086704     Path: UPS.PowerSummary.FlowID, Type: Feature, ReportID: 0x0b, Offset: 24, Size: 8, Value: 4
   0.086773     Path: UPS.PowerSummary.FullChargeCapacity, Type: Feature, ReportID: 0x0c, Offset: 24, Size: 8, Value: 100
   0.087312     Path: UPS.PowerSummary.iDeviceChemistry, Type: Feature, ReportID: 0x10, Offset: 0, Size: 8, Value: 5
   0.087389     Path: UPS.PowerSummary.iManufacturer, Type: Feature, ReportID: 0x10, Offset: 8, Size: 8, Value: 1
   0.087464     Path: UPS.PowerSummary.ffff00f0, Type: Feature, ReportID: 0x10, Offset: 16, Size: 8, Value: 3
   0.087536     Path: UPS.PowerSummary.iProduct, Type: Feature, ReportID: 0x10, Offset: 24, Size: 8, Value: 2
   0.087609     Path: UPS.PowerSummary.iSerialNumber, Type: Feature, ReportID: 0x10, Offset: 32, Size: 8, Value: 4
   0.087682     Path: UPS.PowerSummary.ffff00f1, Type: Feature, ReportID: 0x10, Offset: 40, Size: 8, Value: 6
   0.087756     Path: UPS.PowerSummary.ffff00f2, Type: Feature, ReportID: 0x10, Offset: 48, Size: 8, Value: 8
   0.089433     Path: UPS.PowerSummary.ffff00e2, Type: Feature, ReportID: 0xe2, Offset: 0, Size: 8, Value: 12
   0.089936     Path: UPS.PowerSummary.PercentLoad, Type: Feature, ReportID: 0x07, Offset: 0, Size: 8, Value: 19
   0.090010     Path: UPS.PowerSummary.PowerSummaryID, Type: Feature, ReportID: 0x0b, Offset: 32, Size: 8, Value: 1
   0.091680     Path: UPS.PowerSummary.ffff0094, Type: Feature, ReportID: 0xe1, Offset: 0, Size: 8, Value: 3
   0.092187     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x01, Offset: 0, Size: 8, Value: 1
   0.092265     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Input, ReportID: 0x01, Offset: 0, Size: 8, Value: 1
   0.092338     Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x01, Offset: 8, Size: 8, Value: 0
   0.092410     Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Input, ReportID: 0x01, Offset: 8, Size: 8, Value: 0
   0.092482     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x01, Offset: 16, Size: 8, Value: 1
   0.092554     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Input, ReportID: 0x01, Offset: 16, Size: 8, Value: 1
   0.092625     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x01, Offset: 24, Size: 8, Value: 0
   0.092696     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Input, ReportID: 0x01, Offset: 24, Size: 8, Value: 0
   0.093187     Path: UPS.PowerSummary.PresentStatus.ffff0077, Type: Feature, ReportID: 0x03, Offset: 0, Size: 8, Value: 0
   0.093265     Path: UPS.PowerSummary.PresentStatus.ffff0077, Type: Input, ReportID: 0x03, Offset: 0, Size: 8, Value: 0
   0.093337     Path: UPS.PowerSummary.PresentStatus.Good, Type: Feature, ReportID: 0x01, Offset: 32, Size: 8, Value: 1
   0.093408     Path: UPS.PowerSummary.PresentStatus.Good, Type: Input, ReportID: 0x01, Offset: 32, Size: 8, Value: 1
   0.093933     Path: UPS.PowerSummary.PresentStatus.InternalFailure, Type: Feature, ReportID: 0x02, Offset: 0, Size: 8, Value: 0
   0.094006     Path: UPS.PowerSummary.PresentStatus.InternalFailure, Type: Input, ReportID: 0x02, Offset: 0, Size: 8, Value: 0
   0.094075     Path: UPS.PowerSummary.PresentStatus.NeedReplacement, Type: Feature, ReportID: 0x02, Offset: 8, Size: 8, Value: 0
   0.094143     Path: UPS.PowerSummary.PresentStatus.NeedReplacement, Type: Input, ReportID: 0x02, Offset: 8, Size: 8, Value: 0
   0.094237     Path: UPS.PowerSummary.PresentStatus.Overload, Type: Feature, ReportID: 0x02, Offset: 16, Size: 8, Value: 0
   0.094306     Path: UPS.PowerSummary.PresentStatus.Overload, Type: Input, ReportID: 0x02, Offset: 16, Size: 8, Value: 0
   0.094373     Path: UPS.PowerSummary.PresentStatus.OverTemperature, Type: Feature, ReportID: 0x03, Offset: 8, Size: 8, Value: 0
   0.094439     Path: UPS.PowerSummary.PresentStatus.OverTemperature, Type: Input, ReportID: 0x03, Offset: 8, Size: 8, Value: 0
   0.094936     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x06, Offset: 0, Size: 8, Value: 100
   0.095013     Path: UPS.PowerSummary.RemainingCapacity, Type: Input, ReportID: 0x06, Offset: 0, Size: 8, Value: 100
   0.095087     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x06, Offset: 8, Size: 32, Value: 2987
   0.095160     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Input, ReportID: 0x06, Offset: 8, Size: 32, Value: 2987
   0.095234     Path: UPS.PowerSummary.Temperature, Type: Feature, ReportID: 0x07, Offset: 8, Size: 16, Value: 298.9
   0.095306     Path: UPS.PowerSummary.Voltage, Type: Feature, ReportID: 0x07, Offset: 24, Size: 16, Value: 41.1
   0.097043     libusb_get_report: error sending control message: Operation not permitted
   0.097114     Can't retrieve Report f0: Operation not permitted
   0.097177     Path: UPS.ffff0010.[1].ffff00f0, Type: Feature, ReportID: 0xf0, Offset: 0, Size: 8
   0.098916     libusb_get_report: error sending control message: Operation not permitted
   0.098972     Can't retrieve Report f1: Operation not permitted
   0.099032     Path: UPS.ffff0010.[1].ffff00f1, Type: Feature, ReportID: 0xf1, Offset: 0, Size: 8
   0.099561     Path: UPS.ffff0010.[1].ffff00ff, Type: Feature, ReportID: 0xff, Offset: 0, Size: 8, Value: 0
   0.099680     Report descriptor retrieved (Reportlen = 1393)
   0.099724     Found HID device
   0.099767     Detected a UPS: PPC/HID UPS
   0.099898     Path: UPS.PowerSummary.Voltage, Type: Feature, ReportID: 0x07, Offset: 24, Size: 16, Value: 41.1
   0.099997     Path: UPS.PowerSummary.ConfigVoltage, Type: Feature, ReportID: 0x0d, Offset: 0, Size: 8, Value: 36
   0.100112     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x06, Offset: 0, Size: 8, Value: 100
   0.100225     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x06, Offset: 8, Size: 32, Value: 2987
   0.100339     Path: UPS.PowerSummary.iDeviceChemistry, Type: Feature, ReportID: 0x10, Offset: 0, Size: 8, Value: 5
   0.101340     Path: UPS.PowerSummary.PercentLoad, Type: Feature, ReportID: 0x07, Offset: 0, Size: 8, Value: 19
   0.101455     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x01, Offset: 0, Size: 8, Value: 1
   0.101551     Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x01, Offset: 8, Size: 8, Value: 0
   0.101646     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x01, Offset: 16, Size: 8, Value: 1
   0.101739     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x01, Offset: 24, Size: 8, Value: 0
   0.101824     Path: UPS.PowerSummary.PresentStatus.Overload, Type: Feature, ReportID: 0x02, Offset: 16, Size: 8, Value: 0
   0.101898     find_nut_info: unknown info type: load.off.delay
   0.101942     find_nut_info: unknown info type: load.on.delay
   0.101983     find_nut_info: unknown info type: load.off.delay
   0.102055     upsdrv_initinfo...
   0.102118     upsdrv_updateinfo...
   0.184313     Got 2 HID objects...
   0.184405     Path: UPS.PowerSummary.RemainingCapacity, Type: Input, ReportID: 0x06, Offset: 0, Size: 8, Value: 100
   0.184503     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Input, ReportID: 0x06, Offset: 8, Size: 32, Value: 2927
   0.184576     Quick update...
   0.184642     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x01, Offset: 0, Size: 8, Value: 1
   0.184707     Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x01, Offset: 8, Size: 8, Value: 0
   0.184772     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x01, Offset: 16, Size: 8, Value: 1
   0.184872     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x01, Offset: 24, Size: 8, Value: 0
   0.185113     dstate_init: sock /var/run/nut/usbhid-ups-pokoje open on fd 5
   0.185200     upsdrv_updateinfo...
   0.435446     libusb_get_interrupt: Connection timed out
   0.435542     Got 0 HID objects...
   0.435586     Quick update...
   0.435656     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x01, Offset: 0, Size: 8, Value: 1
   0.435724     Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x01, Offset: 8, Size: 8, Value: 0
   0.435790     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x01, Offset: 16, Size: 8, Value: 1
   0.435855     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x01, Offset: 24, Size: 8, Value: 0
   2.187000     upsdrv_updateinfo...
mdillmann commented 5 years ago

I also own this device. In the current git-version the MGE-HID driver claims this vendor/product id and actually delivers more values (eg support for the outlets) and command support:

upsc pw
Init SSL without certificate database
battery.charge: 100
battery.charger.status: floating
battery.energysave: no
battery.runtime: 6244
battery.type: PbAc
device.mfr: PPC
device.model: HID UPS Sinewave 1500VA UPS
device.serial: 716318C00018    
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 15
driver.parameter.port: auto
driver.parameter.productid: ffff
driver.parameter.synchronous: no
driver.parameter.vendorid: 06da
driver.version: 2.7.4-708-g241848c3
driver.version.data: MGE HID 1.44
driver.version.internal: 0.43
input.frequency: 50.0
input.frequency.nominal: 50
input.transfer.boost.low: 207
input.transfer.high: 276
input.transfer.low: 184
input.transfer.trim.high: 243
input.voltage: 233.0
input.voltage.nominal: 230
outlet.1.delay.shutdown: 2147483647
outlet.1.delay.start: 3
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 1
outlet.1.status: on
outlet.1.switchable: yes
outlet.2.delay.shutdown: 2147483647
outlet.2.delay.start: 6
outlet.2.desc: PowerShare Outlet 2
outlet.2.id: 2
outlet.2.status: on
outlet.2.switchable: yes
outlet.desc: Main Outlet
outlet.id: 0
outlet.switchable: no
output.frequency: 50.0
output.frequency.nominal: 50
output.voltage: 233.0
output.voltage.nominal: 230
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.firmware: 05649-0499
ups.load: 10
ups.load.high: 110
ups.mfr: PPC
ups.model: HID UPS Sinewave 1500VA UPS
ups.power: 152
ups.power.nominal: 1500
ups.productid: ffff
ups.realpower: 96
ups.realpower.nominal: 1350
ups.serial: 716318C00018    
ups.start.auto: yes
ups.start.battery: yes
ups.status: OL CHRG
ups.temperature: 34.0
ups.test.interval: 2419200
ups.test.result: Done and passed
ups.timer.shutdown: -1
ups.timer.start: -1
ups.type: offline / line interactive
ups.vendorid: 06da

BUT: the online/onbatt status fluctuates:

root@pihole:~/nut# upsc pw ups.status
Init SSL without certificate database
OL CHRG
root@pihole:~/nut# upsc pw ups.status
Init SSL without certificate database
OB CHRG
root@pihole:~/nut# upsc pw ups.status
Init SSL without certificate database
OB CHRG
root@pihole:~/nut# upsc pw ups.status
Init SSL without certificate database
OL CHRG

During "quick poll" all is good, only a full-hid-scan sets it as offline.

The issue is, that the firmware of this device sends a "UPS.PowerConverter.Input.[3].PresentStatus.Used" during normal operations (AC present) and the original MGE sees this as on bat:

1201.398937 [D2] Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x01, Offset: 0, Size: 8, Value: 1
1201.398985 [D5] hu_find_infoval: found online (value: 1)
1201.399027 [D5] process_boolean_info: online
1201.399065 [D4] Entering libusb_get_report
1201.399603 [D3] Report[get]: (2 bytes) => 3b 01
1201.399659 [D5] PhyMax = 0, PhyMin = 0, LogMax = 255, LogMin = 0
1201.399704 [D5] Unit = 00000000, UnitExp = 0
1201.399740 [D5] Exponent = 0
1201.399784 [D2] Path: UPS.PowerConverter.Input.[3].PresentStatus.Used, Type: Feature, ReportID: 0x3b, Offset: 0, Size: 8, Value: 1
1201.399830 [D5] hu_find_infoval: found !online (value: 1)
1201.399870 [D5] process_boolean_info: !online
1201.399925 [D3] Report[buf]: (6 bytes) => 01 01 00 01 00 01
1201.399968 [D5] PhyMax = 0, PhyMin = 0, LogMax = 255, LogMin = 0
1201.400009 [D5] Unit = 00000000, UnitExp = 0
1201.400048 [D5] Exponent = 0
1201.400091 [D2] Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x01, Offset: 24, Size: 8, Value: 0
1201.400135 [D5] process_boolean_info: !dischrg
1201.400190 [D3] Report[buf]: (6 bytes) => 01 01 00 01 00 01
1201.400233 [D5] PhyMax = 0, PhyMin = 0, LogMax = 255, LogMin = 0
1201.400276 [D5] Unit = 00000000, UnitExp = 0
1201.400314 [D5] Exponent = 0

Can mge-hid.c be changed so that the "UPS.PowerConverter.Input.[3].PresentStatus.Used" is NOT applied/considered as offline for the specific manufacturer/model ups.mfr: PPC ups.model: HID UPS Sinewave 1500VA UPS?

I could test, but lack coding skills to do that on my own.

cuthulino commented 2 years ago

I got the same problem as @mdillmann with PowerWalker VI 1000 ERT HID. onbatt and online status are fluctuating. Not possible to send notifications.

I tried to filter the events with upssched timer but no luck because when it is onbatt, sometimes it reports an online event between.

Is there a workaround or can we excpect a fix here?

Sep 07 14:05:58 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:06:13 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:06:23 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:06:43 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:06:53 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:07:13 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:07:23 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:07:43 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:07:53 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:08:13 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:08:23 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:08:43 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:08:53 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:09:13 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:09:23 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:09:43 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:09:53 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:10:13 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:10:23 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:10:43 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:10:53 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:11:13 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:11:23 pve upsmon[256568]: UPS powerwalker@localhost on line power
Sep 07 14:11:43 pve upsmon[256568]: UPS powerwalker@localhost on battery
Sep 07 14:11:53 pve upsmon[256568]: UPS powerwalker@localhost on line power
jimklimov commented 2 years ago

@cuthulino : just in case, which version of NUT are you running? If it is a packaged one (e.g. old v2.7.4) then probably no fix is expected until distros update their recipes to deliver a newer NUT release. What you have packaged - is set in stone. If you're (open to) running a custom build, there's a chance :)

As I re-read this issue (and thanks to @mdillmann for analysis above), it sounded reminiscent of onlinedischarge feature added before NUT v2.8.0 (hence the question - maybe the new release does happen to address this behavior?), although upon closer reading into the code of that change at #811 and #1359 - maybe it does not and just is similar... similar enough to propose another toggle to either completely disable looking at that report as @mdillmann proposed, or to ignore !online from UPS.PowerConverter.Input.[3].PresentStatus.Used if UPS.PowerSummary.PresentStatus.ACPresent says we are online (and for good measure, if we are not discharging at the moment).

CC @aquette about whether/how this can be done in a sane manner? Move from mge_onbatt_info static mapping to a function like eaton_converter_online_fun from eaton_converter_online_info dynamic mapping, that would consider recent (timed to not expire) readings from those several data sources, and/or the user toggle to ignore some of the data sources?

Also generally, why would it flip? Is it a firmware bug to nag the vendor about, or does it reflect inner workings of that UPS way too honestly (e.g. some line-interactive "Power Converter" device really going "offline" so the UPS load is fed by the wall power directly, and this intimate knowledge is misinterpreted by NUT driver)?

jimklimov commented 2 years ago

@mdillmann @cuthulino : Also as for a local PoC fix, you can try to comment away (move under nearby #if 0) the mapping line https://github.com/networkupstools/nut/blob/master/drivers/mge-hid.c#L1251 and rebuild NUT locally. It should then ignore/not-query that information, so we can see if that ignorance generally helps with these devices.

Another idea is to swap the order of two neighboring lines, placing "ACPresent" after "Input[3]...Used" - so if both are served by the device, the "ACPresent" takes precedence (would be queried last), I suppose... Usually with named data points (not like "BOOL" here) is the opposite - the first successful reading wins, so we strive to list most relevant/precise/... mappings on top and fallbacks in the end.

jimklimov commented 2 years ago

And as a side note: curious how many mappings apply to "PowerWalker VI" series - here different versions of NUT covered it with Liebert and MGE mapping support, and in #1512 the device has a completely different vendor and product ID and so gets covered as a CyberPower (CPS) unit... There it is allegedly "PowerWalker VI 500 R1U" with a manufacturer field saying "1" :)

cuthulino commented 2 years ago

@jimklimov you are right. I am really running the old 2.7.4 from the packages.

I will try the 2.8.0 in the next days and report back, if the error persists.

warp735 commented 1 year ago

@jimklimov I have the same Problem with 2.8.0

jimklimov commented 1 year ago

@warp735 : Same model? NUT 2.8.0 release or more recent (e.g. custom build from github master)?

warp735 commented 1 year ago

@jimklimov sorry, just saw that it's still 2.7 (use Unraid) Yes, it's the same model and the same error.

desertwitch commented 1 year ago

@warp735 has since confirmed his VI 1000 RT HID working with NUT 2.8.0 on UNRAID see https://forums.unraid.net/topic/60217-plugin-nut-v2-network-ups-tools/?do=findComment&comment=1288104

cuthulino commented 1 year ago

I just upgraded to bookworm and can confirm it is working with the 1500 hid.