summaryrefslogtreecommitdiffstats
path: root/modules/shackstatus
blob: d05dba8746ca1071c9544244e8a4ac875539a6d9 (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
121
122
123
124
125
126
127
#! /bin/bash
inputdir=$HOME/noise/streams

speak () {
    echo "$@" >> $NOISE_linefeed
}

wochentag () {
	case $(date +%a) in
	Mon) echo Montag     ;;
	Tue) echo Dienstag   ;;
	Wed) echo Mittwoch   ;;
	Thu) echo Donnerstag ;;
	Fri) echo Freitag    ;;
	Sat) echo Samstag    ;;
	Sun) echo Sonntag    ;;
	esac
}

tag () {
	case $(date +%d) in
	1)  echo erste    ;;
	2)  echo zweite   ;;
	3)  echo dritte   ;;
	4)  echo vierte   ;;
	5)  echo fünfte   ;;
	6)  echo sechste  ;;
	7)  echo siebte   ;;
	8)  echo achte    ;;
	9)  echo neunte   ;;
	10) echo zehnte   ;;
	11) echo elfte    ;;
	12) echo zwölfte  ;;
	13) echo dreizehnte ;;
	14) echo vierzehnte ;;
	15) echo fünfzehnte ;;
	16) echo sechzehnte ;;
	17) echo siebzehnte ;;
	18) echo achtzehnte ;;
	19) echo neunzehnte ;;
	20) echo zwanzigste ;;
	21) echo einundzwanzigste    ;;
	22) echo zweiundzwanzigste   ;;
	23) echo dreiundzwanzigste   ;;
	24) echo vierundzwanzigste   ;;
	25) echo füfundzwanzigste   ;;
	26) echo sechsundzwanzigste  ;;
	27) echo siebenundzwanzigste ;;
	28) echo achtundzwanzigste   ;;
	29) echo neunundzwanzigste   ;;
	30) echo dreissigste         ;;
	31) echo einunddreissigste   ;;
	esac
}

monat () {
	case $(date +%b) in
	Jan) echo Januar    ;;
	Feb) echo Februar   ;;
	Mar) echo März      ;;
	Apr) echo April     ;;
	May) echo Mai       ;;
	Jun) echo Juni      ;;
	Jul) echo Juli      ;;
	Aug) echo August    ;;
	Sep) echo September ;;
	Oct) echo Oktober   ;;
	Nov) echo November  ;;
	Dec) echo Dezember  ;;
	esac
}

case "$1" in
  (--help)
    echo "report status of all shack services."
    ;;
  (*)
# just a multiline comment
cat << EOF > /dev/null
	/set pitch 10
	/espeak Hallo. Krietscher hat seinen Meister vermisst.
	/espeak Heute ist `wochentag`, der `tag`  --- `monat` -- `date +%Y`
	/zeit
	/espeak check der systeme:
	/espeak Energie versorgung -- aktiv
	/espeak schäckhost -- läuft
	/espeak telnet     -- läuft
	/espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I
	/espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E
	/espeak externer - de - enn -- es - $STAT_DNS_X
	/espeak Leitungsqualität - $STAT_LINE prozent.
	/espeak Die Aussen temper atur beträgt $STAT_TEMP
	/espeak Willkommen zu Hause, -- Meister
EOF

[ $( dig +short localhost     @10.42.0.10 ) = "127.0.0.1" ] && STAT_DNS_I="läuft" || STAT_DNS_I="antwortet nicht"
[ $( dig +short shackspace.de @10.42.0.10 ) = "141.31.176.214" ] && STAT_DNS_E="läuft"|| STAT_DNS_E="antwortet nicht"
[ $( dig +short shackspace.de @141.31.176.214 ) = "141.31.176.214" ] && STAT_DNS_X="läuft"|| STAT_DNS_X="antwortet nicht"

STAT_LINE=$( ping -c 5 -i 0.2 -q 141.31.176.214 | awk '/packet loss/ { print 100-$6}' )
STAT_TEMP=$( dig +short txt outside.elwood.temp.citecs.de |
    sed 's/^"DEG //;
         s/"$//;
         s/^-/minus /;
         s/\./ komma /;
         s/\(.\)$/ \1 grad zelsius/
	'
)

cat <<-EOF >> $NOISE_linefeed
	/set pitch 10
	/espeak Hallo. Krietscher hat seinen Meister vermisst.
	/espeak Heute ist `wochentag`, der `tag`  --- `monat` -- `date +%Y`
	/zeit
	/espeak check der systeme:
	/espeak Energie versorgung -- aktiv
	/espeak schäckhost -- läuft
	/espeak telnet     -- läuft
	/espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I
	/espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E
	/espeak externer - de - enn -- es - $STAT_DNS_X
	/espeak Leitungsqualität - $STAT_LINE prozent.
	/espeak Die Aussen temper atur beträgt $STAT_TEMP
	/espeak Willkommen zu Hause, -- Meister
EOF
    ;;
esac 2>&1