#!/bin/sh  
# \
exec oagtclsh "$0" "$@"

set auto_path [linsert $auto_path 0  /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]

APSStandardSetup

lappend PVs pwrpd11097g1:LoadBank1
lappend PVs pwrpd11097g1:LoadBank2
lappend PVs pwrpd11097g2:LoadBank1
lappend PVs pwrpd11097g2:LoadBank2
lappend PVs pwrpd11097h1:LoadBank1
lappend PVs pwrpd11097h1:LoadBank2
lappend PVs pwrpd11097h2:LoadBank1
lappend PVs pwrpd11097h2:LoadBank2
#lappend PVs pwrpd11097h3:LoadBank1
#lappend PVs pwrpd11097h3:LoadBank2
lappend PVs pwrpd11097i1:LoadBank1
lappend PVs pwrpd11097i1:LoadBank2
lappend PVs pwrpd11097i2:LoadBank1
lappend PVs pwrpd11097i2:LoadBank2
lappend PVs pwrpd11097j1:LoadBank1
lappend PVs pwrpd11097j1:LoadBank2
lappend PVs pwrpd11097j2:LoadBank1
lappend PVs pwrpd11097j2:LoadBank2
#lappend PVs pwrpd11097j3:LoadBank1
#lappend PVs pwrpd11097j3:LoadBank2

set output ""
if {[catch {exec ssh weed sinfo | fgrep down} results]} {
} else {
    append output "${results}\n"
}

set results [APScavget -list=[join $PVs ,] -pend=5]
set index 0
set sum 0
foreach pv $PVs result $results {
    if {$result == "?"} {
        #append output "$pv is down\n"
    } else {
        #Max for 20Amp breaker is 16
        if {$result >= 14} {
            append output "$pv is at [format %.2f ${result}] Amps\n"
        }
        set sum [expr $sum + $result]
        #Max for 30Amp breaker is 24
        if {($index == 1) && ($sum >= 18)} {
            append output "[lindex [split $pv :] 0] is at [format %.2f ${sum}] Amps\n"
        }
    }
    incr index
    if {$index == 2} {
        set index 0
        set sum 0
    }
}

if {[catch {exec ssh weed cat /lustre/soliday/PowerMonitoring/CurrentReadings} results]} {
} else {
    foreach line [split $results \n] {
        set name [lindex $line 0]
        set amps [lindex $line 1]
        if {[string first bank $name] != -1} {
            if {$amps >= 14} {
                append output "$name is at $amps Amps\n"
            }
        } else {
            if {$amps >= 18} {
                append output "$name is at $amps Amps\n"
            }
        }
    }
}

if {[llength $output]} {
    APSSendEMail -address soliday@anl.gov -message $output -subject "Weed PDU issue"
}
