X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=src%2Fawk%2Fexe%2Fmonitor_energy.awk;h=5b18c746baeb1860be8875d1f1aa189a158ea158;hb=81336934f5dcb1895c050d71805ec37e56c400ad;hp=0d3f33906a18b0e2c4d482310bab8f6187f11df2;hpb=e103315c72597a9cc9fffaaff11e04b30d1c6416;p=khatus.git diff --git a/src/awk/exe/monitor_energy.awk b/src/awk/exe/monitor_energy.awk old mode 100755 new mode 100644 index 0d3f339..5b18c74 --- a/src/awk/exe/monitor_energy.awk +++ b/src/awk/exe/monitor_energy.awk @@ -8,37 +8,45 @@ BEGIN { bat_alert_spec[5] = "hi|Energy_CRITICALLY_Low|CHARGE NOW!!! GO GO GO!!!" } -$1 == "OK" && \ -$2 == "khatus_sensor_energy" && \ -$3 == "line_power" { +{ + delete msg + msg_parse(msg, $0) +} + +msg["node"] == Node && \ +msg["module"] == "khatus_sensor_energy" && \ +msg["type"] == "data" && \ +msg["key"] == "line_power" { line_power_prev = line_power_curr - line_power_curr = $4 + line_power_curr = msg["val"] if (line_power_curr == "no" && line_power_prev != "no") { - msg_out_ok_alert("low", "PowerUnplugged", "") + msg_out_alert_low("PowerUnplugged", "") } } -$1 == "OK" && \ -$2 == "khatus_sensor_energy" && \ -$3 == "battery_state" { +msg["node"] == Node && \ +msg["module"] == "khatus_sensor_energy" && \ +msg["type"] == "data" && \ +msg["key"] == "battery_state" { battery_state_prev = battery_state_curr - battery_state_curr = $4 + battery_state_curr = msg["val"] } -$1 == "OK" && \ -$2 == "khatus_sensor_energy" && \ -$3 == "battery_percentage" { +msg["node"] == Node && \ +msg["module"] == "khatus_sensor_energy" && \ +msg["type"] == "data" && \ +msg["key"] == "battery_percentage" { # TODO: Re-think the spec - can't rely on order of keys - battery_percentage = util_ensure_numeric($4) + battery_percentage = num_ensure_numeric(msg["val"]) if (battery_state_curr == "discharging") { for (threshold in bat_alert_spec) { - threshold = util_ensure_numeric(threshold) + threshold = num_ensure_numeric(threshold) if (battery_percentage <= threshold && !_alerted[threshold]) { - split(bat_alert_spec[threshold], msg, "|") - priority = msg[1] - subject = msg[2] - body = sprintf("%d%% %s", battery_percentage, msg[3]) - msg_out_ok_alert(priority, subject, body) + split(bat_alert_spec[threshold], alert, "|") + priority = alert[1] + subject = alert[2] + body = sprintf("%d%% %s", battery_percentage, alert[3]) + msg_out_alert(priority, subject, body) _alerted[threshold]++ } }