Voltage monitoring script for iseg high voltage module

The HV monitoring script for iseg using API. (Created by Yano-san from Kyoto University)

Script to output “Measured Voltage” in “Unixtime.txt”.

For apikey, the sections for user and password need to be modified.

#!/bin/bash

apikey=`curl http://hvws2-gp:8081/api/login/"user"/"password"`
echo $apikey
fname=`date +'%s'`
curl -o data/$fname.txt http://hvws2-gp:8081/api/getItem/$apikey/0/0/*/Status.voltageMeasure
Script to monitor voltage.

jq and festival are required.

The contents of “Unixtime.txt” are in JSON format.

Set the value with vset.

Set the variation with vrange.

If there’s an anomaly, it will notify with an audible alert.

#!/bin/bash

latestdat=`ls ./data | tail -n 1`
echo $latestdat
vset=(-2100.0 -2100.0 -2200.0 -2200.0 -2200.0 -2200.0)
vrange=5.0

jsonbody=`cat data/$latestdat`
for i in `seq 0 5`
do
        v=`echo $jsonbody | jq -r ".[].c[$i].d.v"`
        echo $i: $v
        vtest=`echo "$v-1*${vset[$i]}<-$vrange||$v-1*${vset[$i]}>$vrange" | bc -l`
        echo $vtest
        if [[ "$vtest" -eq "1" ]]; then
                echo "Check voltage!" | festival --tts
        fi
done
Command to run the script at 30-second intervals.
watch -n 30 "shell_script_filename"