3. Accessing Data for Electric Power, Temperature, and Processor Utilization
Express5800/E120f-M Maintenance Guide
160
Chapter 3 Appendix
call get2complement((outtmp.ResponseData(12) And &hf0)/16, k2, 4)
currentValue = CDbl (((M * rawData) + (B * (10 ^ k1))) * (10 ^ k2))
WScript.Echo " Current Value = " & currentValue & " " & units2
End If
End Sub
Sub get2complement(raw, rv, bit)
Select Case bit
case 4:
If raw And &h8 Then
rv = 0 - ((&h10 - raw) and &h0f)
Else
rv = raw
End If
case 8:
If raw And &h80 Then
rv = 0 - ((&h100 - raw) and &h0ff)
Else
rv = raw
End If
case 10:
If raw And &h200 Then
rv = 0 - ((&h400 - raw) and &h3ff)
Else
rv = raw
End If
End Select
End Sub
Sub GetIDString(rv_ls, rv_ms, rc_ls, rc_ms)
Dim tmpMessage
Dim outsdridstringtype
oinparams.networkfunction = &ha
oinparams.lun = 0
oinparams.responderaddress = &h20
oinparams.command = &h23
oinparams.requestdata = array(rv_ls, rv_ms, rc_ls, rc_ms, 47, 1)
oinparams.requestdatasize = 6
set outsdridstringtype = oipmi.execmethod_("requestresponse",oinparams)
Dim outsdridstring
Dim idlength, j
idlength = outsdridstringtype.ResponseData(3) and 31
oinparams.networkfunction = &ha
oinparams.lun = 0
oinparams.responderaddress = &h20
oinparams.command = &h23
oinparams.requestdata = array(rv_ls, rv_ms, rc_ls, rc_ms, 48, idlength)
oinparams.requestdatasize = 6
set outsdridstring = oipmi.execmethod_("requestresponse",oinparams)
tmpMessage = " ID String = "
For j = 3 to id 2
tmpMessage = tmpMessage & Chr(outsdridstring.ResponseData(j))
Next
WScript.Echo tmpMessage
End Sub
'End Script
•
Execution example
C:
\
VBS> cscript //nologo Sensor.vbs
•
Execution result
===========================================
ID String = Baseboard Temp4
Sensor Type = Temperature
Current Value = 45 degrees C
===========================================
ID String = FntPnl Amb Temp
Sensor Type = Temperature
Current Value = 27 degrees C
===========================================
ID String = CPU1_DIMM1 Temp
Sensor Type = Temperature
Current Value = 35 degrees C
===========================================
ID String = CPU1_DIMM2 Temp
Sensor Type = Temperature
Event Status: Unavailable
===========================================
Intake air temperature data can read from the sensor with an ID string that contains any of the following:
Amb
,
Ambient
, or
Front Panel
.