Subversion Repositories ALCASAR

Rev

Rev 3100 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 3100 Rev 3287
Line 27... Line 27...
27
    public function __construct()
27
    public function __construct()
28
    {
28
    {
29
        parent::__construct();
29
        parent::__construct();
30
        if (!defined('PSI_EMU_HOSTNAME') || defined('PSI_EMU_PORT')) switch (defined('PSI_SENSOR_IPMICFG_ACCESS')?strtolower(PSI_SENSOR_IPMICFG_ACCESS):'command') {
30
        if (!defined('PSI_EMU_HOSTNAME') || defined('PSI_EMU_PORT')) switch (defined('PSI_SENSOR_IPMICFG_ACCESS')?strtolower(PSI_SENSOR_IPMICFG_ACCESS):'command') {
31
        case 'command':
31
        case 'command':
-
 
32
            if ((!defined('PSI_SENSOR_IPMICFG_SDR') || (PSI_SENSOR_IPMICFG_SDR!==false)) || 
32
            if (!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (strtolower(PSI_SENSOR_IPMICFG_PSFRUINFO)!=="only")) {
33
                (!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (PSI_SENSOR_IPMICFG_PSFRUINFO!==false)) ||
-
 
34
                (!defined('PSI_SENSOR_IPMICFG_PMINFO') || (PSI_SENSOR_IPMICFG_PMINFO!==false))) {
-
 
35
                $lines='';
-
 
36
                $first=true;
-
 
37
                if (!defined('PSI_SENSOR_IPMICFG_SDR') || (PSI_SENSOR_IPMICFG_SDR!==false)) {
-
 
38
                    $linestmp='';
33
                CommonFunctions::executeProgram('ipmicfg', '-sdr', $lines);
39
                    if (CommonFunctions::executeProgram('ipmicfg', '-sdr', $linestmp)) {
-
 
40
                        $lines=$linestmp;
-
 
41
                    }
-
 
42
                    $first=false;
34
            }
43
                }
35
            if (defined('PSI_SENSOR_IPMICFG_PSFRUINFO') && (PSI_SENSOR_IPMICFG_PSFRUINFO!==false)) {
44
                if (!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (PSI_SENSOR_IPMICFG_PSFRUINFO!==false)) {
-
 
45
                    $linestmp='';
36
                if (CommonFunctions::executeProgram('ipmicfg', '-psfruinfo', $lines2, PSI_DEBUG)) {
46
                    if (CommonFunctions::executeProgram('ipmicfg', '-psfruinfo', $linestmp, $first || PSI_DEBUG)) {
-
 
47
                        $lines.=$linestmp;
-
 
48
                    }
-
 
49
                    $first=false;
-
 
50
                }
-
 
51
                if (!defined('PSI_SENSOR_IPMICFG_PMINFO') || (PSI_SENSOR_IPMICFG_PMINFO!==false)) {
-
 
52
                    $linestmp='';
-
 
53
                    if (CommonFunctions::executeProgram('ipmicfg', '-pminfo', $linestmp, $first || PSI_DEBUG)) {
37
                    $lines.=$lines2;
54
                        $lines.=$linestmp;
-
 
55
                    }
38
                }
56
                }
-
 
57
                $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);
-
 
58
            } else {
-
 
59
                $this->error->addConfigError('__construct()', '[sensor_ipmicfg] Not defined: SDR or PSFRUINFO or PMINFO');
39
            }
60
            }
40
            $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);
-
 
41
            break;
61
            break;
42
        case 'data':
62
        case 'data':
43
            if (!defined('PSI_EMU_PORT') && CommonFunctions::rftsdata('ipmicfg.tmp', $lines)) {
63
            if (!defined('PSI_EMU_PORT') && CommonFunctions::rftsdata('ipmicfg.tmp', $lines)) {
44
                $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);
64
                $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);
45
            }
65
            }
46
            break;
66
            break;
47
        default:
67
        default:
48
            $this->error->addConfigError('__construct()', '[sensor_ipmicfg] ACCESS');
68
            $this->error->addConfigError('__construct()', '[sensor_ipmicfg] ACCESS');
49
        }
69
        }
-
 
70
        
-
 
71
        if ($this->_lines===false) {
-
 
72
            $this->_lines = array();
-
 
73
        } else {
-
 
74
            $pmbus=false;
-
 
75
            for ($licz=count($this->_lines); $licz--; $licz>0) {
-
 
76
                $line=$this->_lines[$licz];
-
 
77
                if (preg_match("/^\s*PMBus Revision\s*\|/", $line)) {
-
 
78
                    $pmbus=true;
-
 
79
                } else if (preg_match("/^(\s*\[SlaveAddress = [\da..fA..F]+h\] \[)(Module )(\d+\])/", $line, $tmpbuf)) {
-
 
80
                    $this->_lines[$licz]=$tmpbuf[1].($pmbus?"PMBus ":"SMBus ").$tmpbuf[3];
-
 
81
                    $pmbus=false;
-
 
82
                } else {
-
 
83
                    $this->_lines[$licz]=preg_replace("/\|\s*$/", "", $line);
-
 
84
                }
-
 
85
            }
-
 
86
        }
50
    }
87
    }
51
 
88
 
52
    /**
89
    /**
53
     * get temperature information
90
     * get temperature information
54
     *
91
     *
55
     * @return void
92
     * @return void
56
     */
93
     */
57
    private function _temperature()
94
    private function _temperature()
58
    {
95
    {
-
 
96
        $mdid='';
59
        foreach ($this->_lines as $line) {
97
        foreach ($this->_lines as $line) {
-
 
98
            if (preg_match("/^\s*\[SlaveAddress = [\da..fA..F]+h\] \[((PMBus \d+)|(SMBus \d+))\]/", $line, $mdidtmp)) {
-
 
99
                $mdid=$mdidtmp[1];
-
 
100
                continue;
-
 
101
            }
60
            $buffer = preg_split("/\s*\|\s*/", $line);
102
            $buffer = preg_split("/\s*\|\s*/", $line);
61
            if ((!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (strtolower(PSI_SENSOR_IPMICFG_PSFRUINFO)!=="only")) &&
-
 
62
               (count($buffer)==6) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*([-\d]+)C\/[-\d]+F\s*$/", $buffer[2], $valbuff)) {
103
            if (($mdid=='') && (count($buffer)==5) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*([-\d]+)C\/[-\d]+F\s*$/", $buffer[2], $valbuff)) {
63
                $dev = new SensorDevice();
104
                $dev = new SensorDevice();
64
                $dev->setName($namebuff[1]);
105
                $dev->setName($namebuff[1]);
65
                if ($valbuff[1]<-128) $valbuff[1]+=256; //+256 correction
106
                if ($valbuff[1]<-128) $valbuff[1]+=256; //+256 correction
66
                $dev->setValue($valbuff[1]);
107
                $dev->setValue($valbuff[1]);
67
                if (preg_match("/^\s*([-\d]+)C\/[-\d]+F\s*$/", $buffer[3], $valbuffmin)) {
108
                if (preg_match("/^\s*([-\d]+)C\/[-\d]+F\s*$/", $buffer[3], $valbuffmin)) {
Line 73... Line 114...
73
                }
114
                }
74
                if ((isset($valbuffmin[1]) && ($valbuff[1]<=$valbuffmin[1])) || (isset($valbuffmax[1]) && ($valbuff[1]>=$valbuffmax[1]))) { //own range test due to errors with +256 correction
115
                if ((isset($valbuffmin[1]) && ($valbuff[1]<=$valbuffmin[1])) || (isset($valbuffmax[1]) && ($valbuff[1]>=$valbuffmax[1]))) { //own range test due to errors with +256 correction
75
                    $dev->setEvent("Alarm");
116
                    $dev->setEvent("Alarm");
76
                }
117
                }
77
                $this->mbinfo->setMbTemp($dev);
118
                $this->mbinfo->setMbTemp($dev);
78
            } elseif ((defined('PSI_SENSOR_IPMICFG_PSFRUINFO') && (PSI_SENSOR_IPMICFG_PSFRUINFO!==false)) &&
-
 
79
               (count($buffer)==2) && preg_match("/^\s*([-\d]+)C\/[-\d]+F\s*$/", $buffer[1], $valbuff)) {
119
            } elseif (($mdid!='') && (count($buffer)==2) && preg_match("/^\s*([-\d]+)C\/[-\d]+F\s*$/", $buffer[1], $valbuff)) {
80
                $dev = new SensorDevice();
120
                $dev = new SensorDevice();
81
                $dev->setName(trim($buffer[0])." (psfruinfo)");
121
                $dev->setName(trim($buffer[0])." (".$mdid.")");
82
                $dev->setValue($valbuff[1]);
122
                $dev->setValue($valbuff[1]);
83
                $this->mbinfo->setMBTemp($dev);
123
                $this->mbinfo->setMBTemp($dev);
84
            }
124
            }
85
        }
125
        }
86
    }
126
    }
Line 90... Line 130...
90
     *
130
     *
91
     * @return void
131
     * @return void
92
     */
132
     */
93
    private function _voltage()
133
    private function _voltage()
94
    {
134
    {
-
 
135
        $mdid='';
95
        foreach ($this->_lines as $line) {
136
        foreach ($this->_lines as $line) {
-
 
137
            if (preg_match("/^\s*\[SlaveAddress = [\da..fA..F]+h\] \[((PMBus \d+)|(SMBus \d+))\]/", $line, $mdidtmp)) {
-
 
138
                $mdid=$mdidtmp[1];
-
 
139
                continue;
-
 
140
            }
96
            $buffer = preg_split("/\s*\|\s*/", $line);
141
            $buffer = preg_split("/\s*\|\s*/", $line);
97
            if ((!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (strtolower(PSI_SENSOR_IPMICFG_PSFRUINFO)!=="only")) &&
-
 
98
               (count($buffer)==6) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*([\d\.]+)\sV\s*$/", $buffer[2], $valbuff)) {
142
            if (($mdid=='') && (count($buffer)==5) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*([\d\.]+)\sV\s*$/", $buffer[2], $valbuff)) {
99
                $dev = new SensorDevice();
143
                $dev = new SensorDevice();
100
                $dev->setName($namebuff[1]);
144
                $dev->setName($namebuff[1]);
101
                $dev->setValue($valbuff[1]);
145
                $dev->setValue($valbuff[1]);
102
                if (preg_match("/^\s*([\d\.].+)\sV\s*$/", $buffer[3], $valbuffmin)) {
146
                if (preg_match("/^\s*([\d\.].+)\sV\s*$/", $buffer[3], $valbuffmin)) {
103
                    $dev->setMin($valbuffmin[1]);
147
                    $dev->setMin($valbuffmin[1]);
Line 105... Line 149...
105
                if (preg_match("/^\s*([\d\.].+)\sV\s*$/", $buffer[4], $valbuffmax)) {
149
                if (preg_match("/^\s*([\d\.].+)\sV\s*$/", $buffer[4], $valbuffmax)) {
106
                    $dev->setMax($valbuffmax[1]);
150
                    $dev->setMax($valbuffmax[1]);
107
                }
151
                }
108
                if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
152
                if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
109
                $this->mbinfo->setMbVolt($dev);
153
                $this->mbinfo->setMbVolt($dev);
-
 
154
            } elseif (($mdid!='') && (count($buffer)==2) && preg_match("/^\s*([\d\.]+)\sV\s*$/", $buffer[1], $valbuff)) {
-
 
155
                $dev = new SensorDevice();
-
 
156
                $dev->setName(trim($buffer[0])." (".$mdid.")");
-
 
157
                $dev->setValue($valbuff[1]);
-
 
158
                $this->mbinfo->setMBVolt($dev);
110
            }
159
            }
111
        }
160
        }
112
    }
161
    }
113
 
162
 
114
    /**
163
    /**
Line 116... Line 165...
116
     *
165
     *
117
     * @return void
166
     * @return void
118
     */
167
     */
119
    private function _fans()
168
    private function _fans()
120
    {
169
    {
-
 
170
        $mdid='';
121
        foreach ($this->_lines as $line) {
171
        foreach ($this->_lines as $line) {
-
 
172
            if (preg_match("/^\s*\[SlaveAddress = [\da..fA..F]+h\] \[((PMBus \d+)|(SMBus \d+))\]/", $line, $mdidtmp)) {
-
 
173
                $mdid=$mdidtmp[1];
-
 
174
                continue;
-
 
175
            }
122
            $buffer = preg_split("/\s*\|\s*/", $line);
176
            $buffer = preg_split("/\s*\|\s*/", $line);
123
            if ((!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (strtolower(PSI_SENSOR_IPMICFG_PSFRUINFO)!=="only")) &&
-
 
124
               (count($buffer)==6) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*(\d+)\sRPM\s*$/", $buffer[2], $valbuff)) {
177
            if (($mdid=='') && (count($buffer)==5) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*(\d+)\sRPM\s*$/", $buffer[2], $valbuff)) {
125
                $dev = new SensorDevice();
178
                $dev = new SensorDevice();
126
                $dev->setName($namebuff[1]);
179
                $dev->setName($namebuff[1]);
127
                $dev->setValue($valbuff[1]);
180
                $dev->setValue($valbuff[1]);
128
                if (preg_match("/^\s*(\d+)\sRPM\s*$/", $buffer[3], $valbuffmin)) {
181
                if (preg_match("/^\s*(\d+)\sRPM\s*$/", $buffer[3], $valbuffmin)) {
129
                    $dev->setMin($valbuffmin[1]);
182
                    $dev->setMin($valbuffmin[1]);
130
                }
183
                }
131
                if ((trim($buffer[0]) != "OK") && isset($valbuffmin[1])) {
184
                if ((trim($buffer[0]) != "OK") && isset($valbuffmin[1])) {
132
                    $dev->setEvent(trim($buffer[0]));
185
                    $dev->setEvent(trim($buffer[0]));
133
                }
186
                }
134
                $this->mbinfo->setMbFan($dev);
187
                $this->mbinfo->setMbFan($dev);
135
            } elseif ((defined('PSI_SENSOR_IPMICFG_PSFRUINFO') && (PSI_SENSOR_IPMICFG_PSFRUINFO!==false)) &&
-
 
136
               (count($buffer)==2) && preg_match("/^\s*(\d+)\sRPM\s*$/", $buffer[1], $valbuff)) {
188
            } elseif (($mdid!='') && (count($buffer)==2) && preg_match("/^\s*(\d+)\sRPM\s*$/", $buffer[1], $valbuff)) {
137
                $dev = new SensorDevice();
189
                $dev = new SensorDevice();
138
                $dev->setName(trim($buffer[0])." (psfruinfo)");
190
                $dev->setName(trim($buffer[0])." (".$mdid.")");
139
                $dev->setValue($valbuff[1]);
191
                $dev->setValue($valbuff[1]);
140
                $this->mbinfo->setMBFan($dev);
192
                $this->mbinfo->setMBFan($dev);
141
            }
193
            }
142
        }
194
        }
143
    }
195
    }
Line 147... Line 199...
147
     *
199
     *
148
     * @return void
200
     * @return void
149
     */
201
     */
150
    private function _power()
202
    private function _power()
151
    {
203
    {
-
 
204
        $mdid='';
152
        foreach ($this->_lines as $line) {
205
        foreach ($this->_lines as $line) {
-
 
206
            if (preg_match("/^\s*\[SlaveAddress = [\da..fA..F]+h\] \[((PMBus \d+)|(SMBus \d+))\]/", $line, $mdidtmp)) {
-
 
207
                $mdid=$mdidtmp[1];
-
 
208
                continue;
-
 
209
            }
153
            $buffer = preg_split("/\s*\|\s*/", $line);
210
            $buffer = preg_split("/\s*\|\s*/", $line);
154
            if ((!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (strtolower(PSI_SENSOR_IPMICFG_PSFRUINFO)!=="only")) &&
-
 
155
               (count($buffer)==6) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*(\d+)\sWatts\s*$/", $buffer[2], $valbuff)) {
211
            if (($mdid=='') && (count($buffer)==5) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*(\d+)\sWatts\s*$/", $buffer[2], $valbuff)) {
156
                $dev = new SensorDevice();
212
                $dev = new SensorDevice();
157
                $dev->setName($namebuff[1]);
213
                $dev->setName($namebuff[1]);
158
                $dev->setValue($valbuff[1]);
214
                $dev->setValue($valbuff[1]);
159
                if (preg_match("/^\s*(\d+)\sWatts\s*$/", $buffer[4], $valbuffmax)) {
215
                if (preg_match("/^\s*(\d+)\sWatts\s*$/", $buffer[4], $valbuffmax)) {
160
                    $dev->setMax($valbuffmax[1]);
216
                    $dev->setMax($valbuffmax[1]);
161
                }
217
                }
162
                if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
218
                if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
163
                $this->mbinfo->setMbPower($dev);
219
                $this->mbinfo->setMbPower($dev);
-
 
220
            } elseif (($mdid!='') && (count($buffer)==2) && preg_match("/^\s*(\d+)\sW\s*$/", $buffer[1], $valbuff)) {
-
 
221
                $dev = new SensorDevice();
-
 
222
                $dev->setName(trim($buffer[0])." (".$mdid.")");
-
 
223
                $dev->setValue($valbuff[1]);
-
 
224
                $this->mbinfo->setMBPower($dev);
164
            }
225
            }
165
        }
226
        }
166
    }
227
    }
167
 
228
 
168
    /**
229
    /**
Line 170... Line 231...
170
     *
231
     *
171
     * @return void
232
     * @return void
172
     */
233
     */
173
    private function _current()
234
    private function _current()
174
    {
235
    {
-
 
236
        $mdid='';
175
        foreach ($this->_lines as $line) {
237
        foreach ($this->_lines as $line) {
-
 
238
            if (preg_match("/^\s*\[SlaveAddress = [\da..fA..F]+h\] \[((PMBus \d+)|(SMBus \d+))\]/", $line, $mdidtmp)) {
-
 
239
                $mdid=$mdidtmp[1];
-
 
240
                continue;
-
 
241
            }
176
            $buffer = preg_split("/\s*\|\s*/", $line);
242
            $buffer = preg_split("/\s*\|\s*/", $line);
177
            if ((!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (strtolower(PSI_SENSOR_IPMICFG_PSFRUINFO)!=="only")) &&
-
 
178
               (count($buffer)==6) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*([\d\.]+)\sAmps\s*$/", $buffer[2], $valbuff)) {
243
            if (($mdid=='') && (count($buffer)==5) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) && preg_match("/^\s*([\d\.]+)\sAmps\s*$/", $buffer[2], $valbuff)) {
179
                $dev = new SensorDevice();
244
                $dev = new SensorDevice();
180
                $dev->setName($namebuff[1]);
245
                $dev->setName($namebuff[1]);
181
                $dev->setValue($valbuff[1]);
246
                $dev->setValue($valbuff[1]);
182
                if (preg_match("/^\s*([\d\.].+)\sAmps\s*$/", $buffer[3], $valbuffmin)) {
247
                if (preg_match("/^\s*([\d\.].+)\sAmps\s*$/", $buffer[3], $valbuffmin)) {
183
                    $dev->setMin($valbuffmin[1]);
248
                    $dev->setMin($valbuffmin[1]);
Line 185... Line 250...
185
                if (preg_match("/^\s*([\d\.].+)\sAmps\s*$/", $buffer[4], $valbuffmax)) {
250
                if (preg_match("/^\s*([\d\.].+)\sAmps\s*$/", $buffer[4], $valbuffmax)) {
186
                    $dev->setMax($valbuffmax[1]);
251
                    $dev->setMax($valbuffmax[1]);
187
                }
252
                }
188
                if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
253
                if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
189
                $this->mbinfo->setMbCurrent($dev);
254
                $this->mbinfo->setMbCurrent($dev);
-
 
255
            } elseif (($mdid!='') && (count($buffer)==2) && preg_match("/^\s*([\d\.]+)\sA\s*$/", $buffer[1], $valbuff)) {
-
 
256
                $dev = new SensorDevice();
-
 
257
                $dev->setName(trim($buffer[0])." (".$mdid.")");
-
 
258
                $dev->setValue($valbuff[1]);
-
 
259
                $this->mbinfo->setMBCurrent($dev);
190
            }
260
            }
191
        }
261
        }
192
    }
262
    }
193
 
263
 
194
    /**
264
    /**
Line 196... Line 266...
196
     *
266
     *
197
     * @return void
267
     * @return void
198
     */
268
     */
199
    private function _other()
269
    private function _other()
200
    {
270
    {
-
 
271
        $mdid='';
201
        foreach ($this->_lines as $line) {
272
        foreach ($this->_lines as $line) {
-
 
273
            if (preg_match("/^\s*\[SlaveAddress = [\da..fA..F]+h\] \[((PMBus \d+)|(SMBus \d+))\]/", $line, $mdidtmp)) {
-
 
274
                $mdid=$mdidtmp[1];
-
 
275
                continue;
-
 
276
            }
202
            $buffer = preg_split("/\s*\|\s*/", $line);
277
            $buffer = preg_split("/\s*\|\s*/", $line);
203
            if ((!defined('PSI_SENSOR_IPMICFG_PSFRUINFO') || (strtolower(PSI_SENSOR_IPMICFG_PSFRUINFO)!=="only")) &&
278
            if (($mdid=='') && (count($buffer)>=3) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff)) {
204
               (count($buffer)==4) && preg_match("/^\s*\(\d+\)\s(.*)\s*$/", $buffer[1], $namebuff) &&
279
                $buffer[2]=trim($buffer[2]);
-
 
280
                if ((count($buffer)==3) &&
205
               ($buffer[2]!=="Correctable ECC / other correctable memory error") &&
281
                   ($buffer[2]!=="Correctable ECC / other correctable memory error") &&
-
 
282
                   ($buffer[2]!=="Not Present") &&
206
               ($buffer[2]!=="N/A")) {
283
                   ($buffer[2]!=="N/A") &&
-
 
284
                   (trim($buffer[0]) != "")) {
207
                $dev = new SensorDevice();
285
                    $dev = new SensorDevice();
208
                $dev->setName($namebuff[1]);
286
                    $dev->setName($namebuff[1]);
209
                $dev->setValue($buffer[2]);
287
                    $dev->setValue($buffer[2]);
210
                if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
288
                    if (trim($buffer[0]) != "OK") $dev->setEvent(trim($buffer[0]));
211
                $this->mbinfo->setMbOther($dev);
289
                    $this->mbinfo->setMbOther($dev);
212
            } elseif ((defined('PSI_SENSOR_IPMICFG_PSFRUINFO') && (PSI_SENSOR_IPMICFG_PSFRUINFO!==false)) &&
290
                } elseif ((count($buffer)==5)&& preg_match("/(^\s*[\d\.]+\s*$)|(^\s*[\da-fA-F]{2}\s+[\da-fA-F]{2}\s+[\da-fA-F]{2}\s+[\da-fA-F]{2}\s*$)/", $buffer[2], $valbuff)) {
-
 
291
                    $dev = new SensorDevice();
-
 
292
                    $dev->setName($namebuff[1]);
213
               (count($buffer)==2) && (trim($buffer[0])=="Status")) {
293
                    $dev->setValue($buffer[0]);
-
 
294
                    $this->mbinfo->setMbOther($dev);
-
 
295
                }
-
 
296
            } elseif (($mdid!='') && (count($buffer)==2) && ((trim($buffer[0])=="Status") || (trim($buffer[0])=="Current Sharing Control"))) {
214
                $dev = new SensorDevice();
297
                $dev = new SensorDevice();
215
                $dev->setName(trim($buffer[0])." (psfruinfo)");
298
                $dev->setName(trim($buffer[0])." (".$mdid.")");
216
                $dev->setValue($buffer[1]);
299
                $dev->setValue($buffer[1]);
217
                $this->mbinfo->setMbOther($dev);
300
                $this->mbinfo->setMbOther($dev);
218
            }
301
            }
219
        }
302
        }
220
    }
303
    }