X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=bin%2Fkhatus_controller;h=c2e5d914df7fa4f0bebfa531104c5f484c983c10;hb=d06e7260cd2c4cb3813d197628ee224771f775cb;hp=fd601539c614bead18b7eea49f5f0ee17021c531;hpb=ab99b55675644c1ec18bb6ecbd9479e001f604a1;p=khatus.git diff --git a/bin/khatus_controller b/bin/khatus_controller index fd60153..c2e5d91 100755 --- a/bin/khatus_controller +++ b/bin/khatus_controller @@ -9,6 +9,7 @@ db["energy_state_prev"] = db["energy_state_curr"] db["energy_state_curr"] = $3 db["energy_percentage"] = ensure_numeric($4) + alert_check_energy_battery() } /^in:ENERGY line_power/\ @@ -16,12 +17,7 @@ debug("ENERGY line_power", $0) db["energy_line_power_prev"] = db["energy_line_power_curr"] db["energy_line_power_curr"] = $3 -} - -/^in:ENERGY/\ -{ - debug("ENERGY ALL", $0) - alert_check_energy() + alert_check_energy_line_power() } /^in:MEMORY/\ @@ -99,8 +95,7 @@ /^in:VOLUME/\ { - shift() - db["volume"] = $0 + set_volume() } /^in:MPD_SONG OK +MPD/ { delete db_mpd_song; next } @@ -128,6 +123,24 @@ output_msg_status_bar(make_status_bar()) } +function set_volume( mute, left, right) { + # 0 RUNNING no 75% 75% + #msg_head = $1 + #sink = $2 + #state = $3 + mute = $4 + left = $5 + right = $6 + + if (mute == "no") { + db["volume"] = sprintf("%s %s", left, right) + } else if (mute == "yes") { + db["volume"] = "X" + } else { + # TODO: Log error - unexpected mute value + } +} + function set_mpd_song( key, val) { key = $2 shift() @@ -184,11 +197,10 @@ function alert_check_mpd( curr, prev, name, body) { # - priority # - snooze time (if already alerted, when to re-alert?) # - text: subject/body -function alert_check_energy( \ - from, dbg, state_curr, state_prev, line_power_curr, line_power_prev, \ - remaining, subj, body\ +function alert_check_energy_battery( \ + from, dbg, state_curr, state_prev, remaining, subj, body\ ) { - from = "alert_check_energy" + from = "alert_check_energy_battery" state_curr = db["energy_state_curr"] state_prev = db["energy_state_prev"] @@ -196,17 +208,8 @@ function alert_check_energy( \ dbg["state_curr"] = state_curr dbg["remaining"] = remaining - dbg["energy_line_power_prev"] = db["energy_line_power_prev"] - dbg["energy_line_power_curr"] = db["energy_line_power_curr"] debug(from, "", dbg) - line_power_curr = db["energy_line_power_curr"] - line_power_prev = db["energy_line_power_prev"] - - if (line_power_curr == "no" && line_power_prev != "no") { - alert_trigger_low(from, "PowerUnplugged", "") - } - if (state_curr == "discharging") { if (remaining < 5) { subj = "Energy_CRITICALLY_Low" @@ -238,6 +241,23 @@ function alert_check_energy( \ } } +function alert_check_energy_line_power( \ + from, dbg, line_power_curr, line_power_prev, subj, body \ +) { + from = "alert_check_energy_line_power" + + dbg["energy_line_power_prev"] = db["energy_line_power_prev"] + dbg["energy_line_power_curr"] = db["energy_line_power_curr"] + debug(from, "", dbg) + + line_power_curr = db["energy_line_power_curr"] + line_power_prev = db["energy_line_power_prev"] + + if (line_power_curr == "no" && line_power_prev != "no") { + alert_trigger_low(from, "PowerUnplugged", "") + } +} + function alert_trigger_low(from, subject, body) { alert_trigger("low", from, subject, body) }