Update show_env.ts

This commit is contained in:
nguyentrungthat 2026-01-21 10:37:43 +07:00
parent 16d916fa05
commit 638a19e314
1 changed files with 16 additions and 4 deletions

View File

@ -2,18 +2,30 @@ import XRegExp from 'xregexp'
const parseShowEnvironment = (data: string) => { const parseShowEnvironment = (data: string) => {
const patterns = [ const patterns = [
// 1. Dạng: FAN is OK / POWER is OK / RPS is NOT PRESENT // 1. Dạng Stack hiện đại: "1 1 OK" (Ưu tiên cao nhất để tránh nhầm với số)
XRegExp(
'^\\s*(?<SWITCH_ID>\\d+)\\s+(?<NAME>\\d+)\\s+(?:\\w+\\s+)?(?<STATE>OK|Faulty|Normal|Failure).*?$'
),
// 2. Dạng Sensor/Table phức tạp (ISR 4k/ASR): "Sensor Value State"
// VD: "Temp: CPU Die Temperature 47 Celsius Normal"
XRegExp(
'^(?<TYPE>Temp|Fan|Voltage|Power|Sensor):?\\s*(?<NAME>.+?)\\s+(?<VALUE>\\d+(?:\\s+Deg\\s+C|\\s*Celsius|\\s*V|\\s*W)?)\\s+(?<STATE>Normal|Critical|Shutdown|Warning|OK)$',
'i'
),
// 3. Dạng: FAN is OK / POWER is OK / RPS is NOT PRESENT
XRegExp('^(?<NAME>[A-Z ]+?)\\s+is\\s+(?<STATE>.+)$'), XRegExp('^(?<NAME>[A-Z ]+?)\\s+is\\s+(?<STATE>.+)$'),
// 2. Dạng: FAN 1 is OK / POWER SUPPLY A is NOT PRESENT // 4. Dạng: FAN 1 is OK / POWER SUPPLY A is NOT PRESENT
XRegExp('^(?<TYPE>[A-Z ]+?)\\s+(?<NAME>[A-Z0-9]+)\\s+is\\s+(?<STATE>.+)$'), XRegExp('^(?<TYPE>[A-Z ]+?)\\s+(?<NAME>[A-Z0-9]+)\\s+is\\s+(?<STATE>.+)$'),
// 3. Dạng bảng: Temp: Inlet Front Normal // 5. Dạng bảng: Temp: Inlet Front Normal
XRegExp( XRegExp(
'^(?<TYPE>Temp|Fan|Voltage|Power):?\\s*(?<NAME>[^\\s]+)\\s+(?<LOCATION>[^\\s]+)\\s+(?<STATE>.+)$' '^(?<TYPE>Temp|Fan|Voltage|Power):?\\s*(?<NAME>[^\\s]+)\\s+(?<LOCATION>[^\\s]+)\\s+(?<STATE>.+)$'
), ),
// 4. Dạng: Inlet Temperature Value: 27 Degree Celsius // 6. Dạng: Inlet Temperature Value: 27 Degree Celsius
XRegExp('^(?<TYPE>.*?Temperature).*?:\\s*(?<VALUE>.+)$'), XRegExp('^(?<TYPE>.*?Temperature).*?:\\s*(?<VALUE>.+)$'),
] ]