diff options
| author | tv <tv@also> | 2011-05-29 15:47:21 +0200 | 
|---|---|---|
| committer | tv <tv@also> | 2011-05-29 15:47:21 +0200 | 
| commit | 12c77cdbfa4ec48d935af3ae7cf1118e38bec6e1 (patch) | |
| tree | 2fdf8b557d2a2a1edaba2be569c2110c3822559f /noise/modules/temp | |
| parent | edaa1d7f7a0ed33c019fce185b8aff7563498b6e (diff) | |
lowered filesystem hierarchy--everything are modules
Diffstat (limited to 'noise/modules/temp')
| -rwxr-xr-x | noise/modules/temp | 56 | 
1 files changed, 56 insertions, 0 deletions
| diff --git a/noise/modules/temp b/noise/modules/temp new file mode 100755 index 00000000..2f1dfcef --- /dev/null +++ b/noise/modules/temp @@ -0,0 +1,56 @@ +#! /bin/bash + +main() { +  case "$1" in +    (--help) +      echo "report temperature in K, °C, °R, or °F." +    ;; +    (-C|--celsius) +      espeak_inside `inside_temp 'x - 273.15'` Grad Zelsius +      espeak_outside `outside_temp 'x - 273.15'` Grad Zelsius +    ;; +    (-F|--fahrenheit) +      espeak_inside `inside_temp 'x * 9/5 - 459.67'` Grad Fahrenheit +      espeak_outside `outside_temp 'x * 9/5 - 459.67'` Grad Fahrenheit +    ;; +    (-R|--rankine) +      espeak_inside `inside_temp 'x * 9/5'` Grad Renkin +      espeak_outside `outside_temp 'x * 9/5'` Grad Renkin +    ;; +    (-K|--kelvin|*) +      espeak_inside `inside_temp` Kelvin +      espeak_outside `outside_temp` Kelvin +    ;; +  esac +} + +## temp [<formula with temperature as x>] +## Echo temperature in K.  If formula is given then return that result instead. +inside_temp() { +  echo "scale=2; x=`/krebs/temper/temper` + 273.15; ${1-x}" | bc +} + +outside_temp() { +  echo "scale=2; x=`dig +short txt outside.elwood.temp.citecs.de | +          sed 's/^"DEG \([0-9]\+\.[0-9]\+\)"$/\1/' +       ` + 273.15; ${1-x}" | bc +} + +espeak_inside() { +  echo Die Krebs-tempera-tur beträgt $@ | to_espeak +} + +espeak_outside() { +  echo Die Außen-tempera-tur beträgt $@ | to_espeak +} + +to_espeak() { +  sed ' +    s/\(\.[0-9]\)0\+/\1/g +    s/\(\.[0-9]\)\([0-9]\)[0-9]*/ \1 \2 /; +    s/^-/minus /; +    s/\./ komma /; +  ' | tee $NOISE_linefeed +} + +main "$@" | 
