diff options
Diffstat (limited to 'modules')
-rwxr-xr-x | modules/temp | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/modules/temp b/modules/temp index 047dfa5b..4e0c47a2 100755 --- a/modules/temp +++ b/modules/temp @@ -6,36 +6,51 @@ main() { echo "report temperature in K, °C, °R, or °F." ;; (-C|--celsius) - echo `temp 'x - 273.15'` Grad Zelsius | to_espeak + espeak_inside `inside_temp 'x - 273.15'` Grad Zelsius + espeak_outside `outside_temp 'x - 273.15'` Grad Zelsius ;; (-F|--fahrenheit) - echo `temp 'x * 9/5 - 459.67'` Grad Fahrenheit | to_espeak + espeak_inside `inside_temp 'x * 9/5 - 459.67'` Grad Fahrenheit + espeak_outside `outside_temp 'x * 9/5 - 459.67'` Grad Fahrenheit ;; (-R|--rankine) - echo `temp 'x * 9/5'` Grad Renkin | to_espeak + espeak_inside `inside_temp 'x * 9/5'` Grad Renkin + espeak_outside `outside_temp 'x * 9/5'` Grad Renkin ;; (-K|--kelvin|*) - echo `temp` Kelvin | to_espeak + 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. -temp() { +inside_temp() { + echo "scale=2; x=`/krebs/modules/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 /; - s:^:/espeak -v Die Außen-tempera-tur beträgt :; - ' >$NOISE_linefeed + ' | tee $NOISE_linefeed } main "$@" |