2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2024-11-22 09:49:50 +00:00
fhem-mirror/fhem/contrib/munin/fhem_hms100_
magenbrot 763015c891 added ELV MAX munin plugin
added $Id$ headers


git-svn-id: https://svn.fhem.de/fhem/trunk@6173 2b470e98-0d58-463d-a4d8-8e2adae1ed80
2014-06-29 01:48:49 +00:00

110 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
# -*- bash -*-
# vim: ft=bash
#
# $Id$
#
: << =cut
=head1 NAME
fhem_hms100_ - plugin to graph temperature and humidity by ELV HMS100TF devices
(other devices may also work (untested))
=head1 APPLICABLE SYSTEMS
FHEM must be installed and configured and reacheable via telnet (network or localhost).
Additionally the module 99_getstate.pm has to be enabled. Copy it from the contrib
directory to the FHEM directory and do a shutdown restart, ie:
cp /usr/share/fhem/contrib/getstate/99_getstate.pm /usr/share/fhem/FHEM/
You can test if your devices are able to be queried by submitting this line to FHEM (via telnet or web):
getstate <device>
i.e: getstate au_tf_sensor
output should be something like this: humidity:62 temperature:19
=head1 CONFIGURATION
fhem_hms100_ has to be linked to the device name, ie. fhem_hms100_wz_aussen
The following environment variables are available
host - hostname of the fhem server (default: localhost)
port - telnet port (default: 7072)
This is a typical configuration:
[fht_hms100_*]
env.host fritz.box
env.port 7072
=head1 INTERPRETATION
Shows a graph with temperature and humidity
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=head1 BUGS
None known.
=head1 AUTHOR
2012 Oliver Voelker <code@magenbrot.net>
=head1 LICENSE
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
=cut
NC=`which nc 2>/dev/null`
DEVICE=`echo $0 | sed -e 's/.*fhem_hms100_\(.*\)/\1/'`
HOST="localhost"
PORT="7072"
if [ "$host" ]; then HOST=$host; fi
if [ "$port" ]; then PORT=$port; fi
if [ "$1" = "autoconf" ]; then
if [ -z "$NC" -o ! -x "$NC" ] ; then
echo "no (no nc executable)"
exit 0
fi
fi
if [ "$1" = "config" ]; then
echo "graph_title FHEM sensor (${DEVICE})"
echo "graph_vlabel temp/hum"
echo "graph_category fhem"
echo "temp.label temperature"
echo "temp.colour 00FF00"
echo "hum.label humidity"
echo "hum.colour 0000FF"
exit 0
fi
fhem=`echo -e "getstate ${DEVICE}\nquit" | ${NC} $HOST $PORT`
temp=`echo $fhem | awk '{split($0,a,"temperature:"); split(a[2],b," "); print b[1]}'`
hum=`echo $fhem | awk '{split($0,a,"humidity:"); split(a[2],b," "); print b[1]}'`
echo temp.value $temp
echo hum.value $hum