1
0
mirror of https://github.com/alexreinert/homematic_check_mk.git synced 2023-10-10 13:37:02 +02:00

Fixed some regascript issues when Gewerk Monitored does not exist

This commit is contained in:
alexreinert 2017-07-05 07:46:45 +02:00 committed by GitHub
parent c12aa0652d
commit 13d1e92fac

View File

@ -106,27 +106,30 @@ proc get_homematic_check_result { } {
foreach (_svcId, dom.GetObject(ID_SERVICES).EnumUsedIDs()) { foreach (_svcId, dom.GetObject(ID_SERVICES).EnumUsedIDs()) {
_svc = dom.GetObject(_svcId); _svc = dom.GetObject(_svcId);
if (_svc.AlState() == asOncoming) { if (_svc && _svc.AlState() == asOncoming) {
_dp = dom.GetObject(_svc.AlTriggerDP()); _dp = dom.GetObject(_svc.AlTriggerDP());
_ch = dom.GetObject(_dp.Channel()); _ch = dom.GetObject(_dp.Channel());
_dev = dom.GetObject(_ch.Device()); _dev = dom.GetObject(_ch.Device());
WriteLine("SVC_MSG;" # _dev.Name() # ";" # _svc.Name().StrValueByIndex (".", 1).StrValueByIndex ("-", 0) # ";" # _dp.Timestamp()); WriteLine("SVC_MSG;" # _dev.Name() # ";" # _svc.Name().StrValueByIndex (".", 1).StrValueByIndex ("-", 0) # ";" # _dp.Timestamp());
} }
} }
foreach (_chId, dom.GetObject("Monitored").EnumUsedIDs()) { _svc = dom.GetObject("Monitored");
_ch = dom.GetObject(_chId); if (_svc) {
foreach (_chId, _svc.EnumUsedIDs()) {
_ch = dom.GetObject(_chId);
_dev = dom.GetObject(_ch.Device()); _dev = dom.GetObject(_ch.Device());
WriteLine(_ch.Name() # ";HSSTYPE;" # _dev.HssType()); WriteLine(_ch.Name() # ";HSSTYPE;" # _dev.HssType());
foreach (_dpId, _ch.DPs()) { foreach (_dpId, _ch.DPs()) {
_dp = dom.GetObject(_dpId); _dp = dom.GetObject(_dpId);
if (_dp.Value()) { if (_dp.Value()) {
_name = _dp.Name().StrValueByIndex(".", 2); _name = _dp.Name().StrValueByIndex(".", 2);
WriteLine(_ch.Name() # ";" # _name # ";" # _dp.Value() # ";" # _dp.Timestamp()); WriteLine(_ch.Name() # ";" # _name # ";" # _dp.Value() # ";" # _dp.Timestamp());
}
} }
} }
} }