diff options
| author | tv <tv@nomic.retiolum> | 2013-12-09 20:07:19 +0100 | 
|---|---|---|
| committer | tv <tv@nomic.retiolum> | 2013-12-09 20:07:19 +0100 | 
| commit | f4f5b3b7aff2ac45ee035f54d6e8899ff963d133 (patch) | |
| tree | 415410184165bbeaa7ed0cb54b7b915a856e909b /.graveyard/noise/modules/temp | |
| parent | 5788b95fe7834d3049df9de1009f3d8dbc34fea2 (diff) | |
noise: RIP
Diffstat (limited to '.graveyard/noise/modules/temp')
| -rwxr-xr-x | .graveyard/noise/modules/temp | 50 | 
1 files changed, 50 insertions, 0 deletions
diff --git a/.graveyard/noise/modules/temp b/.graveyard/noise/modules/temp new file mode 100755 index 00000000..a11c3720 --- /dev/null +++ b/.graveyard/noise/modules/temp @@ -0,0 +1,50 @@ +#! /bin/bash + +temper=/krebs/temper/temper + +main() { +  case "${1--K}" in +    (--help) +      echo "report temperature in K, °C, °R, or °F." +      exit +    ;; +    (-C|--celsius)    unit='Grad Zelsius'   ; formula='x - 273.15'       ;; +    (-F|--fahrenheit) unit='Grad Fahrenheit'; formula='x * 9/5 - 459.67' ;; +    (-R|--rankine)    unit='Grad Renkin'    ; formula='x * 9/5'          ;; +    (-K|--kelvin)     unit='Kelvin'         ; formula='x'                ;; +    (*) +      echo 'Error 1: you are made of stupid!' +      exit 23 +    ;; +  esac +  if test -f $temper -a -x $temper; then +    espeak_inside `inside_temp "$formula"` $unit +  fi +  espeak_outside `outside_temp "$formula"` $unit +} + +## 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=`$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 "$@"  | 
