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

38 lines
781 B
Bash

#!/bin/sh
# Copyright (C) 2018 devolo AG
timer_prefix_foreach() {
local prefix="${1}"
local function="${2}"
local matched="$(ubus call timer list | jsonfilter -e "@.ids[@~\"^$prefix\"]")"
local timer_id
for timer_id in $matched; do
local name="${timer_id#$prefix}"
eval "$function \"$timer_id\" \"$name\""
done
}
timer_foreach() {
local function="${1}"
timer_prefix_foreach "" "$function"
}
timer_query() {
local id="${1}"
ubus call timer query "{\"id\":\"$id\"}"
}
timer_get_remaining() {
jsonfilter -s "$(timer_query "${1}")" -e '$.remaining'
}
timer_get_state() {
jsonfilter -s "$(timer_query "${1}")" -e '$.state'
}
timer_get_initial_timeout() {
jsonfilter -s "$(timer_query "${1}")" -e '$.timeout'
}