Tinkerforge allows you to combine bricks and bricklets for your own infrastructure. This includes sensors for temperature, humidity, PTC and ambient light, etc. in order to example monitor your datacenter infrastructure.
This Icinga plugin allows you to check the following bricklets:
- PTC
- Temperature
- Humidity
- Ambient Light
- Distance IR
- Motion Sensor
Additional features:
- Auto-detect first bricklet from a given type
- Verbose listing of all connected bricklets
This project is licensed under the terms of the GNU General Public License Version 2.
This software is Copyright (c) 2018 by NETWAYS GmbH support@netways.de
For bugs and feature requests please head over to our issue tracker. You may also send us an email to support@netways.de for general questions or to get technical support.
- Python 2.7+
tinkerforge
Python library from Pypi
pip install tinkerforge
Put this plugin into the Icinga PluginDir location.
$ ./check_tinkerforge.py --help
usage: check_tinkerforge.py [-h] [-V] [-v] -H HOST [-P PORT] [-S SECRET]
[-u UID] -T TYPE [-w WARNING] [-c CRITICAL]
[-t TIMEOUT]
optional arguments:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-v, --verbose
-H HOST, --host HOST The host address of the Tinkerforge device
-P PORT, --port PORT Port (default=4223)
-S SECRET, --secret SECRET
Authentication secret
-u UID, --uid UID UID from Bricklet
-T TYPE, --type TYPE Bricklet type. Supported: 'temperature', 'humidity',
'ambient_light', 'ptc', motion'
-w WARNING, --warning WARNING
Warning threshold. Single value or range, e.g.
'20:50'.
-c CRITICAL, --critical CRITICAL
Critical threshold. Single vluae or range, e.g.
'25:45'.
-t TIMEOUT, --timeout TIMEOUT
Timeout in seconds
Single thresholds or range based thresholds are supported according to the Monitoring Plugins API specification.
check_tinkerforge.py -H 10.0.10.163 -T ptc
OK - Tinkerforge: Temperature is 11.63 degrees celcius|'temperature'=11.63
check_tinkerforge.py -H 10.0.10.163 -T ptc
OK - Tinkerforge: Temperature is 22.43 degrees celcius|'temperature'=22.43
check_tinkerforge.py -H 10.0.10.163 -T temperature -w 23
WARNING - Tinkerforge: Temperature is 24.75 degrees celcius|'temperature'=24.75
check_tinkerforge.py -H 10.0.10.163 -T temperature -w 26:55
WARNING - Tinkerforge: Temperature is 24.75 degrees celcius|'temperature'=24.75
check_tinkerforge.py -H 10.0.10.163 -T temperature -w 26:55 -c 30:60
CRITICAL - Tinkerforge: Temperature is 24.75 degrees celcius|'temperature'=24.75
check_tinkerforge.py -H 10.0.10.163 -T temperature -w 23:35
OK - Tinkerforge: Temperature is 24.81 degrees celcius|'temperature'=24.81
check_tinkerforge.py -H 10.0.10.163 -T humidity
OK - Tinkerforge: Humidity is 35.4 %HR (Temperature is 26.06 degrees celcius)|'temperature'=26.06 'humidity'=35.4
check_tinkerforge.py -H 10.0.10.163 -T ambient_light
OK - Tinkerforge: Illuminance is 958.69 lx|'illuminance'=958.69
check_tinkerforge.py -H 10.0.10.163 -T ambient_light -w 900
WARNING - Tinkerforge: Illuminance is 959.41 lx|'illuminance'=959.41
check_tinkerforge.py -H 10.0.10.163 -T distance
OK - Tinkerforge: Distance is 21.6 cm|'distance'=21.6
check_tinkerforge.py -H 10.0.10.163 -T distance -w 50:60
WARNING - Tinkerforge: Distance is 40.1 cm|'distance'=40.1
check_tinkerforge.py -H 10.0.10.163 -T motion
OK - Tinkerforge: No motion detected|'motion'=0
check_tinkerforge.py -H 10.0.10.163 -T distance -w 50:60
WARNING - Tinkerforge: Motion detected!|'motion'=1
An example for Icinga 2 can be found in the tinkerforge.conf.