Skip to content
Permalink
Browse files

Merge pull request #766 from webstoney/patch-1

w1_ plugin
  • Loading branch information...
sumpfralle committed Aug 13, 2019
2 parents c586f34 + f90a770 commit fa3b9cdf26151c698d35c17791ad20f30d86dfe4
Showing with 84 additions and 0 deletions.
  1. +84 −0 plugins/raspberry-pi/w1_
@@ -0,0 +1,84 @@
#!/bin/sh
# -*- sh -*-

: << =cut
=head1 NAME
w1_ - Plugin to monitor 1-wire temperature sensors (DS1820)
=head1 CONFIGURATION
The following environment variables are used by this plugin
sensorid - Sensor to check. By default taken from command name.
t_warn - Warning limit for nagios notification
t_crit - Critical limit for nagios notification
=head1 AUTHOR
Copyright (C) 2016 Roland Steinbach
=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; version 2 dated June, 1991.
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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf suggest
=cut

. $MUNIN_LIBDIR/plugins/plugin.sh

case $0 in
*w1_*)
sensor_id=${0##*/w1_}
;;
esac

if [ "$1" = "suggest" ]; then
if [ -r /sys/bus/w1/devices ]; then
ls /sys/bus/w1/devices|grep -v bus_master
fi
exit 0
fi

if [ "$1" = "autoconf" ]; then
if [ -r /sys/bus/w1/devices ]; then
echo yes
exit 0
else
echo "no (/sys/bus/w1/devices not found)"
exit 0
fi
fi

if [ "$1" = "config" ]; then
echo graph_title Temperature Sensor $sensor_id
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel temperature (°C)'
echo 'graph_category sensors'
echo 'graph_info This graph shows 1-wire sensor temperature.'
echo "w1.label $sensor_id"
echo "w1.info Temperature at $sensor_id."
print_warning w1
print_critical w1
exit 0
fi


sed -n '/t=/ s/.*t=//p' /sys/bus/w1/devices/$sensor_id/w1_slave | awk '{print "w1.value", $1/1000}'

0 comments on commit fa3b9cd

Please sign in to comment.
You can’t perform that action at this time.