Есть в наличии старенький ИБП Powercom IMD-1025AP.
Подключен к машинке на Linux.
Пытаюсь опросить его с помощью python и библиотеки pyusb и получить состояние батареи.
Но что то я в упор не вижу такой информации.
import usb.core
import usb.util
# Vendor and Product ID for Powercom UPS
VENDOR_ID = 0x0d9f
PRODUCT_ID = 0x0004
device = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID)
manufacturer = usb.util.get_string(device, device.iManufacturer)
serial = usb.util.get_string(device, device.iSerialNumber)
cfg = device.get_active_configuration()
print(device)
В ответ прилетает вот такое:
DEVICE ID 0d9f:0004 on Bus 001 Address 005 =================
bLength : 0x12 (18 bytes)
bDescriptorType : 0x1 Device
bcdUSB : 0x110 USB 1.1
bDeviceClass : 0x0 Specified at interface
bDeviceSubClass : 0x0
bDeviceProtocol : 0x0
bMaxPacketSize0 : 0x8 (8 bytes)
idVendor : 0x0d9f
idProduct : 0x0004
bcdDevice : 0x1 Device 0.01
iManufacturer : 0x3 POWERCOM Co.,LTD
iProduct : 0x1 HID UPS Battery
iSerialNumber : 0x2 004-0D9F-000
bNumConfigurations : 0x1
CONFIGURATION 1: 100 mA ==================================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x2 Configuration
wTotalLength : 0x22 (34 bytes)
bNumInterfaces : 0x1
bConfigurationValue : 0x1
iConfiguration : 0x0
bmAttributes : 0xa0 Bus Powered, Remote Wakeup
bMaxPower : 0x32 (100 mA)
INTERFACE 0: Human Interface Device ====================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x4 Interface
bInterfaceNumber : 0x0
bAlternateSetting : 0x0
bNumEndpoints : 0x1
bInterfaceClass : 0x3 Human Interface Device
bInterfaceSubClass : 0x0
bInterfaceProtocol : 0x0
iInterface : 0x0
ENDPOINT 0x81: Interrupt IN ==========================
bLength : 0x7 (7 bytes)
bDescriptorType : 0x5 Endpoint
bEndpointAddress : 0x81 IN
bmAttributes : 0x3 Interrupt
wMaxPacketSize : 0x8 (8 bytes)
bInterval : 0x64
Насколько я понимаю, это нормально и это нормальный ответ от USB устройства.
Но как получить репорт именно с упса, где будет состояние батареи, например, и другая информация?