@echo off
setlocal enabledelayedexpansion
REM Désactive MIB warnings
set MIBS=none
REM ============================
REM LECTURE CONFIG
REM ============================
for /f "tokens=1,2 delims==" %%A in (onduleur.cfg) do (
set "%%A=%%B"
)
REM ============================
REM IDENTITE UPS
REM ============================
set UPS_MODEL=
for /f "delims=" %%A in ('snmpget.exe -v2c -c !COMMUNITY! -Oqv !IP! !MODEL_OID! 2^>nul') do (
set UPS_MODEL=%%A
)
set UPS_MODEL=!UPS_MODEL:"=!
echo ===============================
echo MODELE UPS : !UPS_MODEL!
echo ===============================
echo.
REM ============================
REM BOUCLE
REM ============================
:LOOP
cls
echo ===============================
echo UPS MONITOR (refresh 3s)
echo ===============================
echo MODELE : !UPS_MODEL!
echo IP : !IP!
echo Community : !COMMUNITY!
echo.
REM ======================
REM STATUS
REM ======================
set STATUS=0
for /f %%A in ('snmpget.exe -v2c -c !COMMUNITY! -Oqv !IP! !STATUS_OID! 2^>nul') do set STATUS=%%A
set STATUS_TXT=!STATUS_LABEL_KO!
if "!STATUS!"=="!STATUS_OK!" set STATUS_TXT=!STATUS_LABEL_OK!
REM ======================
REM BATTERY
REM ======================
set BATTERY=0
for /f %%A in ('snmpget.exe -v2c -c !COMMUNITY! -Oqv !IP! !BATTERY_OID! 2^>nul') do set BATTERY=%%A
REM ======================
REM RUNTIME
REM ======================
set RUNTIME_RAW=0
set LINE=
for /f "delims=" %%A in ('snmpget.exe -v2c -c !COMMUNITY! !IP! !RUNTIME_OID! 2^>nul') do (
set LINE=%%A
)
REM Extraction du nombre (timeticks)
if defined LINE (
for /f "tokens=2 delims=()" %%A in ("!LINE!") do set RUNTIME_RAW=%%A
)
if "!RUNTIME_RAW!"=="" set RUNTIME_RAW=0
REM Conversion
set /a RUNTIME_SEC=!RUNTIME_RAW! / !RUNTIME_DIV! 2>nul
set /a RUNTIME_MIN=!RUNTIME_SEC! / 60 2>nul
REM Format affichage
if /i "!RUNTIME_DISPLAY!"=="minutes" (
set RUNTIME_DISPLAY_VAL=!RUNTIME_MIN! min
) else (
set RUNTIME_DISPLAY_VAL=!RUNTIME_SEC! sec
)
REM ======================
REM AFFICHAGE
REM ======================
echo Statut UPS : !STATUS_TXT!
echo Batterie : !BATTERY! %%
echo Autonomie : !RUNTIME_DISPLAY_VAL! (!RUNTIME_SEC! sec)
echo ===============================
timeout /t 3 >nul
goto LOOP