blob: d731a95fb41c93e016a8218d2d91d905e792db08 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
#!/bin/bash
finde_interpolierten_wert() {
local t="$1"
local lv='0'
local lt='-273.15'
sed '
/^\s*#/d
s/ -$//
t
s/ \S\+ / /
' "${0%/*}/werte" \
| if [ "x$2" = 'xinvers' ]; then
sed '
s/^\(\S\+\) \(\S\+\)$/\2 \1/
'
else
cat
fi \
| while read -r ct cv; do
if printf '(%s)-(%s)\n' "${ct}" "${t}" \
| bc -l \
| grep -q '^[^-]'; then
printf '((%s)-(%s))/((%s)-(%s))*((%s)-(%s))+(%s)\n' \
"${t}" "${lt}" \
"${ct}" "${lt}" \
"${cv}" "${lv}" \
"${lv}" \
| bc -l
break
fi
lt="${ct}"
lv="${cv}"
done
}
gib_absolute_luftfeuchte() {
printf '(%s)*(%s)/100\n' \
"$(finde_interpolierten_wert "$1")" \
"$2" \
| bc -l
}
fh=$(
curl -Ss 'http://wetter.mb.fh-jena.de/station/datenbank/php_giese/online.php'
)
fh_t=$(
printf '%s\n' "${fh}" \
| sed '
\@>Temperatur</td>@ {
N
s@^.*<strong>\(\S\+ \)@\1@
t
}
d
' \
| awk '{print $1}'
)
fh_rh=$(
printf '%s\n' "${fh}" \
| sed '
\@>Luftfeuchtigkeit</td>@ {
N
s@^.*<strong>\(\S\+\) %</strong></td>\s*$@\1@
t
}
d
'
)
fh_ah=$(
gib_absolute_luftfeuchte "${fh_t}" "${fh_rh}"
)
fh_tp=$(
finde_interpolierten_wert "${fh_ah}" invers
)
kpi=$(
curl -Ss 'https://kpi.ddns.eckner.net/tmp/sensor'
)
kpi_rh=$(
printf '%s\n' "${kpi}" \
| sed '
s/^RH: \(\S\+\) %$/\1/
t
d
'
)
kpi_t=$(
printf '%s\n' "${kpi}" \
| sed '
s/^T: \(\S\+\) °C$/\1/
t
d
'
)
kpi_ah=$(
gib_absolute_luftfeuchte "${kpi_t}" "${kpi_rh}"
)
kpi_tp=$(
finde_interpolierten_wert "${kpi_ah}" invers
)
ah_anteil=$(
printf '(%s)/(%s)*100\n' "${kpi_ah}" "${fh_ah}" \
| bc -l
)
kpi_tp_diff=$(
printf '(%s)-(%s)\n' "${kpi_t}" "${kpi_tp}" \
| bc -l
)
fh_tp_diff=$(
printf '(%s)-(%s)\n' "${kpi_t}" "${fh_tp}" \
| bc -l
)
printf '%s %% so viel Wasser innen wie außen\n' "${ah_anteil}"
printf '%s K über innerem Taupunkt\n' "${kpi_tp_diff}"
printf '%s K über äußerem Taupunkt\n' "${fh_tp_diff}"
|