You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

313 lines
11 KiB

2 years ago
  1. #!/bin/bash
  2. state_num(){
  3. case $state in
  4. OL) echo 1 ;;
  5. OB) echo 2 ;;
  6. LB) echo 3 ;;
  7. RB) echo 4 ;;
  8. CHRG) echo 5 ;;
  9. DISCHRG) echo 6 ;;
  10. BYPASS) echo 7 ;;
  11. CAL) echo 8 ;;
  12. OFF) echo 9 ;;
  13. OVER) echo 10 ;;
  14. TRIM) echo 11 ;;
  15. BOOST) echo 12 ;;
  16. ALARM) echo 13 ;;
  17. * ) echo 0 ;;
  18. esac
  19. }
  20. alarm_num(){
  21. case "$alarm" in
  22. INVERTER_AC_OVER_VOLTAGE) echo 1;;
  23. INVERTER_AC_UNDER_VOLTAGE) echo 2;;
  24. INVERTER_OVER_OR_UNDER_FREQ) echo 3;;
  25. BYPASS_AC_OVER_VOLTAGE) echo 4;;
  26. BYPASS_AC_UNDER_VOLTAGE) echo 5;;
  27. BYPASS_OVER_OR_UNDER_FREQ) echo 6;;
  28. INPUT_AC_OVER_VOLTAGE) echo 7;;
  29. INPUT_AC_UNDER_VOLTAGE) echo 8;;
  30. INPUT_UNDER_OR_OVER_FREQ) echo 9;;
  31. OUTPUT_OVER_VOLTAGE) echo 10;;
  32. OUTPUT_UNDER_VOLTAGE) echo 11;;
  33. OUTPUT_UNDER_OR_OVER_FREQ) echo 12;;
  34. REMOTE_EMERGENCY_PWR_OFF) echo 13;;
  35. REMOTE_GO_TO_BYPASS) echo 14;;
  36. BUILDING_ALARM_6) echo 15;;
  37. BUILDING_ALARM_5) echo 16;;
  38. BUILDING_ALARM_4) echo 17;;
  39. BUILDING_ALARM_3) echo 18;;
  40. BUILDING_ALARM_2) echo 19;;
  41. BUILDING_ALARM_1) echo 20;;
  42. STATIC_SWITCH_OVER_TEMP) echo 21;;
  43. CHARGER_OVER_TEMP) echo 22;;
  44. CHARGER_LOGIC_PWR_FAIL) echo 23;;
  45. CHARGER_OVER_VOLTAGE_OR_CURRENT) echo 24;;
  46. INVERTER_OVER_TEMP) echo 25;;
  47. OUTPUT_OVERLOAD) echo 26;;
  48. RECTIFIER_INPUT_OVER_CURRENT) echo 27;;
  49. INVERTER_OUTPUT_OVER_CURRENT) echo 28;;
  50. DC_LINK_OVER_VOLTAGE) echo 29;;
  51. DC_LINK_UNDER_VOLTAGE) echo 30;;
  52. RECTIFIER_FAILED) echo 31;;
  53. INVERTER_FAULT) echo 32;;
  54. BATTERY_CONNECTOR_FAIL) echo 33;;
  55. BYPASS_BREAKER_FAIL) echo 34;;
  56. CHARGER_FAIL) echo 35;;
  57. RAMP_UP_FAILED) echo 36;;
  58. STATIC_SWITCH_FAILED) echo 37;;
  59. ANALOG_AD_REF_FAIL) echo 38;;
  60. BYPASS_UNCALIBRATED) echo 39;;
  61. RECTIFIER_UNCALIBRATED) echo 40;;
  62. OUTPUT_UNCALIBRATED) echo 41;;
  63. INVERTER_UNCALIBRATED) echo 42;;
  64. DC_VOLT_UNCALIBRATED) echo 43;;
  65. OUTPUT_CURRENT_UNCALIBRATED) echo 44;;
  66. RECTIFIER_CURRENT_UNCALIBRATED) echo 45;;
  67. BATTERY_CURRENT_UNCALIBRATED) echo 46;;
  68. INVERTER_ON_OFF_STAT_FAIL) echo 47;;
  69. BATTERY_CURRENT_LIMIT) echo 48;;
  70. INVERTER_STARTUP_FAIL) echo 49;;
  71. ANALOG_BOARD_AD_STAT_FAIL) echo 50;;
  72. OUTPUT_CURRENT_OVER_100) echo 51;;
  73. BATTERY_GROUND_FAULT) echo 52;;
  74. WAITING_FOR_CHARGER_SYNC) echo 53;;
  75. NV_RAM_FAIL) echo 54;;
  76. ANALOG_BOARD_AD_TIMEOUT) echo 55;;
  77. SHUTDOWN_IMMINENT) echo 56;;
  78. BATTERY_LOW) echo 57;;
  79. UTILITY_FAIL) echo 58;;
  80. OUTPUT_SHORT_CIRCUIT) echo 59;;
  81. UTILITY_NOT_PRESENT) echo 60;;
  82. FULL_TIME_CHARGING) echo 61;;
  83. FAST_BYPASS_COMMAND) echo 62;;
  84. AD_ERROR) echo 63;;
  85. INTERNAL_COM_FAIL) echo 64;;
  86. RECTIFIER_SELFTEST_FAIL) echo 65;;
  87. RECTIFIER_EEPROM_FAIL) echo 66;;
  88. RECTIFIER_EPROM_FAIL) echo 67;;
  89. INPUT_LINE_VOLTAGE_LOSS) echo 68;;
  90. BATTERY_DC_OVER_VOLTAGE) echo 69;;
  91. POWER_SUPPLY_OVER_TEMP) echo 70;;
  92. POWER_SUPPLY_FAIL) echo 71;;
  93. POWER_SUPPLY_5V_FAIL) echo 72;;
  94. POWER_SUPPLY_12V_FAIL) echo 73;;
  95. HEATSINK_OVER_TEMP) echo 74;;
  96. HEATSINK_TEMP_SENSOR_FAIL) echo 75;;
  97. RECTIFIER_CURRENT_OVER_125) echo 76;;
  98. RECTIFIER_FAULT_INTERRUPT_FAIL) echo 77;;
  99. RECTIFIER_POWER_CAPASITOR_FAIL) echo 78;;
  100. INVERTER_PROGRAM_STACK_ERROR) echo 79;;
  101. INVERTER_BOARD_SELFTEST_FAIL) echo 80;;
  102. INVERTER_AD_SELFTEST_FAIL) echo 81;;
  103. INVERTER_RAM_SELFTEST_FAIL) echo 82;;
  104. NV_MEMORY_CHECKSUM_FAIL) echo 83;;
  105. PROGRAM_CHECKSUM_FAIL) echo 84;;
  106. INVERTER_CPU_SELFTEST_FAIL) echo 85;;
  107. NETWORK_NOT_RESPONDING) echo 86;;
  108. FRONT_PANEL_SELFTEST_FAIL) echo 87;;
  109. NODE_EEPROM_VERIFICATION_ERROR) echo 88;;
  110. OUTPUT_AC_OVER_VOLT_TEST_FAIL) echo 89;;
  111. OUTPUT_DC_OVER_VOLTAGE) echo 90;;
  112. INPUT_PHASE_ROTATION_ERROR) echo 91;;
  113. INVERTER_RAMP_UP_TEST_FAILED) echo 92;;
  114. INVERTER_OFF_COMMAND) echo 93;;
  115. INVERTER_ON_COMMAND) echo 94;;
  116. TO_BYPASS_COMMAND) echo 95;;
  117. FROM_BYPASS_COMMAND) echo 96;;
  118. AUTO_MODE_COMMAND) echo 97;;
  119. EMERGENCY_SHUTDOWN_COMMAND) echo 98;;
  120. SETUP_SWITCH_OPEN) echo 99;;
  121. INVERTER_OVER_VOLT_INT) echo 100;;
  122. INVERTER_UNDER_VOLT_INT) echo 101;;
  123. ABSOLUTE_DCOV_ACOV) echo 102;;
  124. PHASE_A_CURRENT_LIMIT) echo 103;;
  125. PHASE_B_CURRENT_LIMIT) echo 104;;
  126. PHASE_C_CURRENT_LIMIT) echo 105;;
  127. BYPASS_NOT_AVAILABLE) echo 106;;
  128. RECTIFIER_BREAKER_OPEN) echo 107;;
  129. BATTERY_CONTACTOR_OPEN) echo 108;;
  130. INVERTER_CONTACTOR_OPEN) echo 109;;
  131. BYPASS_BREAKER_OPEN) echo 110;;
  132. INV_BOARD_ACOV_INT_TEST_FAIL) echo 111;;
  133. INVERTER_OVER_TEMP_TRIP) echo 112;;
  134. INV_BOARD_ACUV_INT_TEST_FAIL) echo 113;;
  135. INVERTER_VOLTAGE_FEEDBACK_ERROR) echo 114;;
  136. DC_UNDER_VOLTAGE_TIMEOUT) echo 115;;
  137. AC_UNDER_VOLTAGE_TIMEOUT) echo 116;;
  138. DC_UNDER_VOLTAGE_WHILE_CHARGE) echo 117;;
  139. INVERTER_VOLTAGE_BIAS_ERROR) echo 118;;
  140. RECTIFIER_PHASE_ROTATION) echo 119;;
  141. BYPASS_PHASER_ROTATION) echo 120;;
  142. SYSTEM_INTERFACE_BOARD_FAIL) echo 121;;
  143. PARALLEL_BOARD_FAIL) echo 122;;
  144. LOST_LOAD_SHARING_PHASE_A) echo 123;;
  145. LOST_LOAD_SHARING_PHASE_B) echo 124;;
  146. LOST_LOAD_SHARING_PHASE_C) echo 125;;
  147. DC_OVER_VOLTAGE_TIMEOUT) echo 126;;
  148. BATTERY_TOTALLY_DISCHARGED) echo 127;;
  149. INVERTER_PHASE_BIAS_ERROR) echo 128;;
  150. INVERTER_VOLTAGE_BIAS_ERROR_2) echo 129;;
  151. DC_LINK_BLEED_COMPLETE) echo 130;;
  152. LARGE_CHARGER_INPUT_CURRENT) echo 131;;
  153. INV_VOLT_TOO_LOW_FOR_RAMP_LEVEL) echo 132;;
  154. LOSS_OF_REDUNDANCY) echo 133;;
  155. LOSS_OF_SYNC_BUS) echo 134;;
  156. RECTIFIER_BREAKER_SHUNT_TRIP) echo 135;;
  157. LOSS_OF_CHARGER_SYNC) echo 136;;
  158. INVERTER_LOW_LEVEL_TEST_TIMEOUT) echo 137;;
  159. OUTPUT_BREAKER_OPEN) echo 138;;
  160. CONTROL_POWER_ON) echo 139;;
  161. INVERTER_ON) echo 140;;
  162. CHARGER_ON) echo 141;;
  163. BYPASS_ON) echo 142;;
  164. BYPASS_POWER_LOSS) echo 143;;
  165. ON_MANUAL_BYPASS) echo 144;;
  166. BYPASS_MANUAL_TURN_OFF) echo 145;;
  167. INVERTER_BLEEDING_DC_LINK_VOLT) echo 146;;
  168. CPU_ISR_ERROR) echo 147;;
  169. SYSTEM_ISR_RESTART) echo 148;;
  170. PARALLEL_DC) echo 149;;
  171. BATTERY_NEEDS_SERVICE) echo 150;;
  172. BATTERY_CHARGING) echo 151;;
  173. BATTERY_NOT_CHARGED) echo 152;;
  174. DISABLED_BATTERY_TIME) echo 153;;
  175. SERIES_7000_ENABLE) echo 154;;
  176. OTHER_UPS_ON) echo 155;;
  177. PARALLEL_INVERTER) echo 156;;
  178. UPS_IN_PARALLEL) echo 157;;
  179. OUTPUT_BREAKER_REALY_FAIL) echo 158;;
  180. CONTROL_POWER_OFF) echo 159;;
  181. LEVEL_2_OVERLOAD_PHASE_A) echo 160;;
  182. LEVEL_2_OVERLOAD_PHASE_B) echo 161;;
  183. LEVEL_2_OVERLOAD_PHASE_C) echo 162;;
  184. LEVEL_3_OVERLOAD_PHASE_A) echo 163;;
  185. LEVEL_3_OVERLOAD_PHASE_B) echo 164;;
  186. LEVEL_3_OVERLOAD_PHASE_C) echo 165;;
  187. LEVEL_4_OVERLOAD_PHASE_A) echo 166;;
  188. LEVEL_4_OVERLOAD_PHASE_B) echo 167;;
  189. LEVEL_4_OVERLOAD_PHASE_C) echo 168;;
  190. UPS_ON_BATTERY) echo 169;;
  191. UPS_ON_BYPASS) echo 170;;
  192. LOAD_DUMPED) echo 171;;
  193. LOAD_ON_INVERTER) echo 172;;
  194. UPS_ON_COMMAND) echo 173;;
  195. UPS_OFF_COMMAND) echo 174;;
  196. LOW_BATTERY_SHUTDOWN) echo 175;;
  197. AUTO_ON_ENABLED) echo 176;;
  198. SOFTWARE_INCOMPABILITY_DETECTED) echo 177;;
  199. INVERTER_TEMP_SENSOR_FAILED) echo 178;;
  200. DC_START_OCCURED) echo 179;;
  201. IN_PARALLEL_OPERATION) echo 180;;
  202. SYNCING_TO_BYPASS) echo 181;;
  203. RAMPING_UPS_UP) echo 182;;
  204. INVERTER_ON_DELAY) echo 183;;
  205. CHARGER_ON_DELAY) echo 184;;
  206. WAITING_FOR_UTIL_INPUT) echo 185;;
  207. CLOSE_BYPASS_BREAKER) echo 186;;
  208. TEMPORARY_BYPASS_OPERATION) echo 187;;
  209. SYNCING_TO_OUTPUT) echo 188;;
  210. BYPASS_FAILURE) echo 189;;
  211. AUTO_OFF_COMMAND_EXECUTED) echo 190;;
  212. AUTO_ON_COMMAND_EXECUTED) echo 191;;
  213. BATTERY_TEST_FAILED) echo 192;;
  214. FUSE_FAIL) echo 193;;
  215. FAN_FAIL) echo 194;;
  216. SITE_WIRING_FAULT) echo 195;;
  217. BACKFEED_CONTACTOR_FAIL) echo 196;;
  218. ON_BUCK) echo 197;;
  219. ON_BOOST) echo 198;;
  220. ON_DOUBLE_BOOST) echo 199;;
  221. BATTERIES_DISCONNECTED) echo 200;;
  222. UPS_CABINET_OVER_TEMP) echo 201;;
  223. TRANSFORMER_OVER_TEMP) echo 202;;
  224. AMBIENT_UNDER_TEMP) echo 203;;
  225. AMBIENT_OVER_TEMP) echo 204;;
  226. CABINET_DOOR_OPEN) echo 205;;
  227. CABINET_DOOR_OPEN_VOLT_PRESENT) echo 206;;
  228. AUTO_SHUTDOWN_PENDING) echo 207;;
  229. TAP_SWITCHING_REALY_PENDING) echo 208;;
  230. UNABLE_TO_CHARGE_BATTERIES) echo 209;;
  231. STARTUP_FAILURE_CHECK_EPO) echo 210;;
  232. AUTOMATIC_STARTUP_PENDING) echo 211;;
  233. MODEM_FAILED) echo 212;;
  234. INCOMING_MODEM_CALL_STARTED) echo 213;;
  235. OUTGOING_MODEM_CALL_STARTED) echo 214;;
  236. MODEM_CONNECTION_ESTABLISHED) echo 215;;
  237. MODEM_CALL_COMPLETED_SUCCESS) echo 216;;
  238. MODEM_CALL_COMPLETED_FAIL) echo 217;;
  239. INPUT_BREAKER_FAIL) echo 218;;
  240. SYSINIT_IN_PROGRESS) echo 219;;
  241. AUTOCALIBRATION_FAIL) echo 220;;
  242. SELECTIVE_TRIP_OF_MODULE) echo 221;;
  243. INVERTER_OUTPUT_FAILURE) echo 222;;
  244. ABNORMAL_OUTPUT_VOLT_AT_STARTUP) echo 223;;
  245. RECTIFIER_OVER_TEMP) echo 224;;
  246. CONFIG_ERROR) echo 225;;
  247. REDUNDANCY_LOSS_DUE_TO_OVERLOAD) echo 226;;
  248. ON_ALTERNATE_AC_SOURCE) echo 227;;
  249. IN_HIGH_EFFICIENCY_MODE) echo 228;;
  250. SYSTEM_NOTICE_ACTIVE) echo 229;;
  251. SYSTEM_ALARM_ACTIVE) echo 230;;
  252. ALTERNATE_POWER_SOURCE_NOT_AVAILABLE) echo 231;;
  253. CURRENT_BALANCE_FAILURE) echo 232;;
  254. CHECK_AIR_FILTER) echo 233;;
  255. SUBSYSTEM_NOTICE_ACTIVE) echo 234;;
  256. SUBSYSTEM_ALARM_ACTIVE) echo 235;;
  257. CHARGER_ON_COMMAND) echo 236;;
  258. CHARGER_OFF_COMMAND) echo 237;;
  259. UPS_NORMAL) echo 238;;
  260. INVERTER_PHASE_ROTATION) echo 239;;
  261. UPS_OFF) echo 240;;
  262. EXTERNAL_COMMUNICATION_FAILURE) echo 241;;
  263. BATTERY_TEST_INPROGRESS) echo 242;;
  264. SYSTEM_TEST_INPROGRESS) echo 243;;
  265. BATTERY_TEST_ABORTED) echo 244;;
  266. * ) echo "0" ;;
  267. esac
  268. }
  269. other_val(){
  270. case "$val" in
  271. "Error: Variable not supported by UPS") echo "NA" ;;
  272. * ) echo $val ;;
  273. esac
  274. }
  275. ups=$1
  276. if [ $ups = ups.discovery ]; then
  277. echo -e "{\n\t\"data\":["
  278. first=1
  279. /bin/upsc -l 2>&1 | grep -v SSL | while read discovered ; do
  280. if [ $first -eq 0 ]; then
  281. echo -e ","
  282. fi
  283. echo -en "\t\t{ \"{#UPSNAME}\":\t\"${discovered}\" }"
  284. first=0
  285. done
  286. echo -e "\n\t]\n}"
  287. else
  288. key=$2
  289. case $key in
  290. ups.status) state=`/bin/upsc $ups $key 2>&1 | grep -v SSL|awk '{print $1}'`;state_num;exit;;
  291. ups.status-2) state=`/bin/upsc $ups ups.status 2>&1 | grep -v SSL|awk '{print $2}'`;state_num;exit;;
  292. ups.status-3) state=`/bin/upsc $ups ups.status 2>&1 | grep -v SSL|awk '{print $3}'`;state_num;exit;;
  293. ups.status-4) state=`/bin/upsc $ups ups.status 2>&1 | grep -v SSL|awk '{print $4}'`;state_num;exit;;
  294. ups.status-5) state=`/bin/upsc $ups ups.status 2>&1 | grep -v SSL|awk '{print $5}'`;state_num;exit;;
  295. ups.alarm ) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $1}'`;alarm_num;exit;;
  296. ups.alarm-2) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $2}'`;alarm_num;exit;;
  297. ups.alarm-3) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $3}'`;alarm_num;exit;;
  298. ups.alarm-4) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $4}'`;alarm_num;exit;;
  299. ups.alarm-5) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $5}'`;alarm_num;exit;;
  300. ups.alarm-6) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $6}'`;alarm_num;exit;;
  301. ups.alarm-7) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $7}'`;alarm_num;exit;;
  302. ups.alarm-8) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $8}'`;alarm_num;exit;;
  303. ups.alarm-9) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $9}'`;alarm_num;exit;;
  304. ups.alarm-10) alarm=`/bin/upsc $ups ups.alarm 2>&1 | grep -v SSL|awk '{print $10}'`;alarm_num;exit;;
  305. * ) val=`/bin/upsc $ups $key 2>&1 | grep -v SSL`;other_val;exit;;
  306. esac
  307. fi

Powered by TurnKey Linux.