Zigbee heating valve check improved

This commit is contained in:
Dirk Alders 2023-12-14 18:16:15 +01:00
parent 9b3e64060b
commit c913350d5f

View File

@ -34,15 +34,17 @@ class base(object):
logger.debug("Target value for device identified: %s: %s", key, repr(value))
def state(self, key, value):
self.__state_storage__[key] = value
self.__state_storage__[key] = time.time(), value
logger.debug("Device state identified: %s: %s", key, repr(value))
def status(self, key):
tm_s, value_s = self.__state_storage__.get(key, (0, None))
try:
tm_t, value_t = self.__target_storage__[key]
value_s = self.__state_storage__.get(key)
except KeyError:
return {"status": nagios.Nagios.UNKNOWN, "msg": "Device exists, but no setpoint change or unknown monitoring"}
if value_s is not None:
return {"status": nagios.Nagios.WARNING, "msg": "Current temperature setpoint %.1f°C (age=%.1fs), but never received a setpoint" % (value_s, time.time()-tm_s)}
return {"status": nagios.Nagios.UNKNOWN, "msg": "Device exists, but no data received or unknown monitoring"}
else:
tm = time.time()
dt = tm - tm_t