Initial commit

This commit is contained in:
2017-01-07 15:06:58 +00:00
commit e31b707995
3 changed files with 91 additions and 0 deletions

24
README.md Normal file
View File

@@ -0,0 +1,24 @@
RPi DHT11 Munin Plugins
=======================
Two simple Munin plugins that allow you to monitor the values returned from a DHT11 temperature and humidity module connected to a Raspberry Pi
Requirements
------------
* [Adafruit_DHT](https://github.com/adafruit/Adafruit_Python_DHT)
* [python-munin](https://github.com/samuel/python-munin)
Munin Configuration
-------------------
These values will be set in your ```plugin-conf.d/munin-node``` file.
* ```dht11_pin``` - The GPIO pin on the Raspberry Pi where the DHT11 data line is connected.
Example Config
--------------
[dht11*]
user root
env.dht11_pin 2

34
dht11_humidity Executable file
View File

@@ -0,0 +1,34 @@
#!/usr/bin/python
import sys
import Adafruit_DHT
import os
from munin import MuninPlugin
class DHT11Plugin(MuninPlugin):
title = "DHT11 Humidity"
args = "--base 1000 -l 0"
vlabel = "percent"
scale = False
category = "sensors"
@property
def fields(self):
warning = os.environ.get('hum_warn', 90)
critical = os.environ.get('hum_crit', 95)
return [("hum", dict(
label = "Humidity",
info = 'Humidity as reported by a DHT11 sensor',
type = "GAUGE",
min = "0",
max = "100",
warning = str(warning),
critical = str(critical)))]
def execute(self):
pin = int(os.environ.get('dht11_pin', '2'))
humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT11, pin)
return dict(hum=humidity)
if __name__ == "__main__":
DHT11Plugin().run()

33
dht11_temp Executable file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/python
import sys
import Adafruit_DHT
import os
from munin import MuninPlugin
class DHT11Plugin(MuninPlugin):
title = "DHT11 Temperature"
args = "--base 1000 -l 0"
vlabel = "degrees celcius"
scale = False
category = "sensors"
@property
def fields(self):
warning = os.environ.get('temp_warn', 30)
critical = os.environ.get('temp_crit', 60)
return [("temp", dict(
label = "Temperature",
info = 'Temperature as reported by a DHT11 sensor',
type = "GAUGE",
min = "-20",
warning = str(warning),
critical = str(critical)))]
def execute(self):
pin = int(os.environ.get('dht11_pin', 2))
humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT11, pin)
return dict(temp=temperature)
if __name__ == "__main__":
DHT11Plugin().run()