#!/bin/bash set -u set -e # preliminaries HOSTNAME="$1" shift READINGS="$*" URL="http://${HOSTNAME}/api/dxs.json?" # build up URL for ADDURL in $READINGS; do URL="${URL}dxsEntries=${ADDURL}&" echo $URL done URL=$(echo $URL | sed 's/.$//') # remove last character (&) from URL echo $URL # get time and json NOW="$(date +%s)" CURLOUT=$(curl --connect-timeout 5 -s $URL) # process json for READING in $READINGS; do OUTPUT=$(echo $CURLOUT | jq ".dxsEntries[] | select(.dxsId == $READING) | .value") # OUTPUT=$(cat pico.json | jq ".dxsEntries[] | select(.dxsId == $READING) | .value") if [ -n "$OUTPUT" ]; then # only if value present printf "%d: %s = %s\\n" "${NOW}" "${READING}" "${OUTPUT}" else printf >&2 "no reading %s\\n" "${READING}" exit 1 fi done