From 025aaa5a218a78ec121beff62ee5daefc8bb83b6 Mon Sep 17 00:00:00 2001 From: JimBoCA Date: Thu, 24 Dec 2020 17:48:18 -0800 Subject: [PATCH] Add traceback for error in #63 and only print the error one time --- nodes/Thermostat.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nodes/Thermostat.py b/nodes/Thermostat.py index 6cb88f7..bf38442 100644 --- a/nodes/Thermostat.py +++ b/nodes/Thermostat.py @@ -40,6 +40,7 @@ def __init__(self, controller, primary, address, thermostatId, name, revData, fu self.do_weather = None self.weather = None self.forcast = None + self._gcde = {} # We track our driver values because we need the value before it's been pushed. self.driver = dict() super(Thermostat, self).__init__(controller, primary, address, name) @@ -269,7 +270,10 @@ def getClimateDict(self,name): if name == cref['climateRef']: LOGGER.info('{}:getClimateDict: Returning {}'.format(self.address,cref)) return cref - LOGGER.error('{}:getClimateDict: Unknown climateRef name {}'.format(self.address,name)) + # Only show the error one time. + if not cref in self._gcde: + self._gcde[cref] = True + LOGGER.error('{}:getClimateDict: Unknown climateRef name {} See: https://github.com/Einstein42/udi-ecobee-poly/issues/63'.format(self.address,name),exc_info=True) return None def getSensorAddressOld(self,sdata):