sensor_type = "temp"
                    sensor_name = "temp_" + str(sensorid)
                    warn = plugin.options.tempwarn
                    crit = plugin.options.tempcrit
                    unit = "C"
                    pdunit = ""
                elif unit == "%RH":
                    sensor_type = "hum"
                    sensor_name = "hum_" + str(sensorid)
                    warn = plugin.options.humwarn
                    crit = plugin.options.humcrit
                    pdunit = "%"

                if sensor_type:
                    valuesinfile += 1
                    returncode = plugin.value_wc_to_returncode(float(value), warn, crit)
                    if returncode == 0:
                        plugin.add_output("%s: %s%s" % (sensor_name, value, unit))
                    else:
                        plugin.add_output("%s: %s %s%s" % (sensor_name, plugin.RETURNSTRINGS[returncode], value, unit))
                    plugin.add_returncode(returncode)
                    plugin.add_multilineoutput(
                        "%s %s: %s%s (%s)" % (sensor_name, plugin.RETURNSTRINGS[returncode], value, unit, readtime)
                    )
                    plugin.format_add_performancedata(sensor_name, value, pdunit, warn=warn, crit=crit)
                else:
                    plugin.verbose(1, 'Unknown sensor type "%s" on %s' % (unit, sensorid))

        if valuesinfile == 0:
            plugin.verbose(2, "No data found for sensor %s" % sensorid)
# Go!
for version in versions:

	if version == '6':
		matcher = v6match
	else:
		matcher = v4match

	for proto in protos:
		filename = '/proc/net/%s%s' % (proto, version)
		f = file(filename)
		lines = f.readlines()

		for line in lines:
			m = matcher.match(line)
			if m:
				port = int(m.group(2), 16)
				if port == plugin.options.port and m.group(3) not in ['00000000','00000000000000000000000000000000']:
					count += 1


returncode = plugin.value_wc_to_returncode(count, plugin.options.warn, plugin.options.crit)
plugin.add_returncode(returncode)

plugin.add_output('%s network connections on port %s' % (count, plugin.options.port))
plugin.format_add_performancedata('netconns_%s' % plugin.options.port, count, '', warn=plugin.options.warn, crit=plugin.options.crit)

plugin.exit()

plugin.verbose(3, 'Length of output:  %s' % len(varlist) )
if len(outputs) != len(varlist):
	plugin.back2nagios(3, 'Did not get expected infos')

for idx in xrange(0, len(varlist)):
	var = varlist[idx]
	warn = plugin.options.warn[idx]
	crit = plugin.options.crit[idx]
	output = (VARs[var]['type'])(outputs[idx])

	if VARs[var]['type'] in [float, long, int]:
		factor = VARs[var].get('factor')
		if factor != None:
			output = output * factor

		returncode = plugin.value_wc_to_returncode(output, warn, crit)
	else:
		returncode = plugin.RETURNCODE['OK']

	perfdata = []
	unit = VARs[var].get('unit')
	if unit != None:
		perfdata.append({'label':var, 'value':output, 'unit':VARs[var]['unit'], 'warn':warn, 'crit':crit,})
	else:
		unit = ''

	descr = VARs[var].get('descr')
	if  descr != None:
		longoutput = descr + ': ' + str(output) + unit
	else:
		longoutput = str(output) + unit
states = None
if plugin.options.statistics:
	scoreboard = re.search('Scoreboard: (.*)\n', data)
	if scoreboard:
		states = {'_':0, 'S':0, 'R':0, 'W':0, 'K':0, 'D':0, 'C':0, 'L':0, 'G':0, 'I':0, '.':0,}
		for worker in scoreboard.group(1):
			states[worker] += 1
		plugin.add_multilineoutput(str(states['_']) + ' waiting for connection')
		plugin.add_multilineoutput(str(states['S']) + ' starting up')
		plugin.add_multilineoutput(str(states['R']) + ' reading request')
		plugin.add_multilineoutput(str(states['W']) + ' writing/sending reply')
		plugin.add_multilineoutput(str(states['K']) + ' keepalive')
		plugin.add_multilineoutput(str(states['D']) + ' looking up in DNS')
		plugin.add_multilineoutput(str(states['C']) + ' closing connection')
		plugin.add_multilineoutput(str(states['L']) + ' logging')
		plugin.add_multilineoutput(str(states['G']) + ' gracefully finishing')
		plugin.add_multilineoutput(str(states['I']) + ' idle cleanup of worker')
		plugin.add_multilineoutput(str(states['.']) + ' open slots(up to ServerLimit)')

returncode = plugin.value_wc_to_returncode(busy, plugin.options.warn, plugin.options.crit)

plugin.add_output(str(busy) + ' busy workers, ' + str(idle) + ' idle')

plugin.add_returncode(returncode)

plugin.format_add_performancedata('busy', busy, '', warn=plugin.options.warn, crit=plugin.options.crit, min=0.0)
plugin.format_add_performancedata('idle', idle, '')

plugin.exit()