Hi,
hier ist noch der Check_MK Check für Steckdosen mit Leistungsmessung (HM-ES-PMSw1-Pl). Wie gehabt Steckdose zu Gewerk "Monitored" hinzufügen und diesen Code
Code: Alles auswählen
def inventory_homematic_power_measurement(parsed):
for line in parsed:
data = parsed[line]
if isinstance(data, dict):
current = data.get('CURRENT', None)
power = data.get('POWER', None)
#voltage = data.get('VOLTAGE', None)
#frequency = data.get('FREQUENCY', None)
#energy_counter = data.get('ENERGY_COUNTER', None)
hsstype = data.get('HSSTYPE', None)
if power is not None:
yield line, { }
def check_homematic_power_measurement(item, params, parsed):
for line in parsed:
if line == item:
data = parsed[line]
# if data.get('HSSTYPE') == 'HM-ES-PMSw1-Pl':
current = data.get('CURRENT', [0,None])
power = data.get('POWER', None)
voltage = data.get('VOLTAGE', None)
frequency = data.get('FREQUENCY', None)
energy_counter = data.get('ENERGY_COUNTER', None)
if power is None:
return 3, 'Power is not available'
date = power[1]
power = float(power[0])
current = float(current[0])/1000 # (mA)
#voltage = float(voltage[0])
#frequency = float(frequency[0])
#energy_counter = float(energy_counter[0])
if power <= params['critical'][0] or power >= params['critical'][1]:
state = 2
elif power <= params['warning'][0] or power >= params['warning'][1]:
state = 1
else:
state = 0
message = "Power: %f, Current: %f (last change: %s)" % (power, current, date)
perfdata = [
('power', power),
('current', current),
# ('voltage', voltage),
# ('frequency', frequency),
# ('energy_counter', energy_counter),
]
return state, message, perfdata
factory_settings['homematic_power_measurement_default_levels'] = {
'warning' : (0, 99999),
'critical': (0, 99999),
}
homematic_power_measurement_default_levels = { }
check_info['homematic.power_measurement'] = {
'check_function': check_homematic_power_measurement,
'inventory_function': inventory_homematic_power_measurement,
'service_description': "Power %s",
'group': 'homematic_power_measurement',
'default_levels_variable': 'homematic_power_measurement_default_levels',
'has_perfdata': True,
}
nach ~<sitename>/local/share/check_mk/checks/homematic_power_measurement kopieren und omd neu starten.
Netzfrequenz und -spannung zu graphen macht imho keinen Sinn, daher auskommentiert. Grenzwerte habe ich auch erstmal keine (erreichbaren) festgelegt.