Device Objects

Device objects relate to the hardware components of the library.

DeviceDto

Provides information about a device within the library.

Devices are hardware components within the library. These are represented by a hierarchy of classes of objects. "Device" itself is the most generic, and contains information that applies to all devices. Various subclasses are used for device types that have additional data. The more specific classes extend the Device object and add additional attributes for the specific device type. Methods such as "getDevices(Library ID)" return a list of DeviceDto while methods such as "getRobots(Library ID)" will return a list of more specific RobotDtos. The getDevice(deviceId) method returns a DeviceDto while getRobot(deviceId) will return a RobotDto.

  • long deviceId - unique integer ID for each device. Used on many methods to uniquely identify a device.

  • long parentDeviceId - unique id for the parent device. The parent device is the device that physically contains this device.

  • DeviceType parentType - enumeration specifying the type of the parent device.

  • string name - text name for this device.

  • DeviceIdentityDto manufacturingCardIdentity - DeviceIdentityDto data for the bare card. This data is assigned when the card is manufactured.

  • DeviceIdentityDto manufacturingFRUIdentity - FRU level DeviceIdentityDto data for this device. This data is assigned when the card is manufactured into a FRU or other type of higher level assembly. In some cases, FRUs are only a single board and this data will be the same as the manufacturingCardIdentity.

  • DeviceIdentityDto marketingIdentity - Marketing level DeviceIdentityDto data for this device. Used by service to identify the correct replacement part. Assigned when the FRU is manufactured. All parts with the same marketing part number are compatible even if the manufacturing part number is different. .

  • DeviceType type - enumeration specifying the type of the device.

  • FruType fieldReplaceableUnitType - the service category for this device.

  • long moduleId - unique identifier for the module the device is in.

  • long moduleNumber - module number of the module containing the device.

  • long libraryId - unique identifier for the library in a library complex that contains the device.

  • long slotId - Identifier for the slot in the module containing the device.

  • long slotNumber - slot number of the slot containing the device.

  • TopLevelDeviceStateType topLevelDeviceOperationalState - summary device state. This field summarizes the operationalState field into few higher level states.

  • DeviceStateType operationalState - detailed device state. This field provides detailed, device type-specific operational state information for the device.

  • ControlState controlState - current user-defined control state of the device.

  • boolean hotSwap - TRUE indicates the device can be hot-swapped.

  • IpAddressDto ipAddress - internal IP address for the device.

  • LedDto leds - list of LedDto for the LEDs on this device. If this device has no LEDs, the list will be empty.

DeviceIdentityDto

Provides information that identifies a device, such as a serial number (defined when the device is manufactured) and additional information (part number, revision, and description) that is defined when the part is designed.

Many parts contain a FRUID Storage Container chip that holds this information. Some FRUID Storage Containers contain information about multiple devices. The LOD card and the LOID card in a drive tray, for example, contain the identity information for both the individual card and for the drive tray. Some third party components, such as tape drives, encryption cards, and web cameras, also have this identification information. Where possible, the library controller will retrieve this information and include it in this object. Some components do not have this information, including rails, power buses, PDUs, and power supplies.

  • string partSerialNumber - serial number of the individual component.

  • string partNumber - manufacturing part number for individual component.

  • string partRevision - revision level for the individual component.

  • string partDescription - description of the individual component on the bill of materials.

  • long deviceId - unique integer ID for each device. Used on many methods to uniquely identify a device.

  • DeviceType deviceType - the type of device.

LedDto

Provides information about an LED in the library.

PingDeviceResultsDto

Provides information about a ping made to a device.

  • long deviceId - device ID of the device being pinged (from input to the pingDevice method).

  • DeviceType deviceType - type of device that was pinged.

  • ControlState deviceControlState - current control state of the device that was pinged.

  • DeviceStateType deviceOperationalState - current operational state of the device that as pinged.

  • boolean devicePinged - TRUE if the device was successfully pinged.

  • string errorMessage - error message if the ping was unsuccessful.

FruIdDto

Provides data from the FRUID storage containers present on active cards.

These are EEPROMs (Electrically Erasable Programmable Read Only Memory) which are programmed during manufacturing with serial numbers, part numbers and other data that uniquely identifies active boards and assemblies that contain active boards. An active board is a board that has active electronic components as opposed to a passive board which contains only non-active components, usually just connectors. The EEPROM is divided into "segments" which then contain one or more "records". Records contain individual fields. The segments used in the SL4000 are named "SD" and "FL", but these names have no particular meaning.

Each device which has a FRUID chip has five unique identity records. These five records can record unique data:

  • Base Part Identity - identity data about an individual board. Located in the SD segment.

  • FRU Identity - identity data about the assembly that contains the board. In some cases, the same as the base part identity data.

  • Configured Item Identity - Contains "marketing" identity data about a FRU. Parts will the same marketing identity are fully compatible, even if the FRU or Base Part data differs.

  • System Identity Data - data for the last library the part was inserted into.

  • Product Identity Data - currently always identical to System Identity Data.

The attributes of FruIdDto are:

  • string rawFruIdData - raw data from the FRUID EEPROM chip on the device, in base64 encoding.

  • SDSegmentDto SDSegment - described below.

  • FLSegmentDto FLSegment - described below.

SDSegmentDto

  • BasePartIdentityDto basePartIdentityRecord - Base Part identity data for the device.

  • wwnRangeDto wwnRange - WWN seed information.

  • string crc32 - CRC 32 bit error checking code for the SD segment.

FLSegmentDto

  • FrudIdentityDto fruIdentityRecord - FRU identity data for the device. Contains manufacturing based identity information.

  • ConfiguredIdentityDto configuredIdentityRecord - Marketing identity data for the assembly.

  • SystemIdentityDto systemIdentityRecord - Library identity data for the last library where the part was installed.

  • ProductIdentityDto productIdentityRecord - Library identity data for the last library where the part was installed.

  • string checksum - checksum for the FL segment.

BasePartIdentityDto

  • date basePartTimeStamp - Date and time of last update of this record.

  • string basePartDescription - Card part description.

  • string basePartSerialNumber - Card serial number.

  • string initialBasePartNumber - Card part number.

  • string initialBasePartRevision - Card part revision.

  • string specPartNumber - Vendor part number

  • string supplierId - Vendor ID.

wwnRangeDto

  • string wwn - starting WWN for the library.

  • long range - not used.

FrudIdentityDto

  • date fruTimeStamp - Date and time of last update of this record.

  • string fruDescription - FRU description

  • string fruSerialNumber - FRU serial number.

  • string fruPartNumber - FRU part number.

  • string fruRevision - FRU revision level.

ConfiguredIdentityDto

  • date configuredPartTimeStamp - Date and time of last update of this record.

  • string configuredPartDescription - FRU part description, same as in FrudIdentityDto.

  • string configuredPartSerialNumber - FRU serial number, same as in FrudIdentityDto.

  • string configuredPartNumber - FRU marketing part number

  • string configuredPartRevisionLevel - FRU revision level, same as data in FrudIdentityDto

SystemIdentityDto

  • date systemIdentityTimeStamp - Date and time of last update of this record.

  • string systemIdentityModelName - Library model name string.

  • string systemIdentitySerialNumber - Library serial number.

  • string systemIdentityPartNumber - Library part number.

  • string systemIdentityRevisionLevel - Library revision level.

  • string hostId - not used.

  • string macAddress - not used.

ProductIdentityDto

  • date productIdentityTimeStamp - Date and time of last update of this record.

  • string productIdentityModelName - Library model name string.

  • string productIdentitySerialNumber - Library serial number.

  • string productIdentityPartNumber - Library part number.

  • string productIdentityRevisionLevel - Library revision level.

  • string hostId - not used.

  • string macAddress - not used.

SensorDto

Provides identifying information about a sensor on a device.

  • long sensorId - unique ID for the sensor.

  • string name - name for the sensor.

  • SensorType type - the sensor type.

TelemetryDto

Provides information collected by a sensor on a device.

  • long deviceId - identifier of device associated with measurements

  • SensorDto sensor - sensor that generated the measurements.

  • List of MeasurementDto measurements - telemetry data for energy, hotswap, network, temperature or fan (see subclasses below).

MeasurementDto

Provides the date and time a measurement was captured.

  • date timeStamp - date and time value for when the readings were captured.

EnergyMeasurementDto

Provides the power usage information for a device.

This is a subclass of MeasurementDto and adds the following attributes:.

  • float powerKw - Instantaneous power consumption at the time the reading was taken in kilowatts.

  • float energyKwh - Energy consumption in kilowatt hours.

HotSwapMeasurementDto

Provides the power consumption for hot swappable devices.

Most cards have hot-swappable controllers with measurable power consumption. For example, the LOS card has a hot-swappable controller for the card and another for the rail. This is a subclass of MeasurementDto and adds the following attributes:

  • float inputVoltage - Input voltage to the hot swap controller

  • float inputCurrent - Input current to the hot swap controller.

  • float powerWatts - An instantaneous reading of power being passed through the hot swap controller.

TemperatureMeasurementDto

Provides the temperature reading collected by a sensor.

This is a subclass of MeasurementDto and adds the following attributes:

  • float value - Current temperature reading in degrees C.

FanMeasurementDto

Provides the fan health and speed.

This is a subclass of MeasurementDto and adds the following attributes:

  • float speed - Current fan speed rpm.

  • FanHealth health - The current health of the fan determined by the fan controller.