def showLibraryVersions (self, forceDebug = False): s = eps.debugHeader("LIBRARY VERSIONS") s += eps.debugLine (self.pluginDisplayName + " - v" + self.pluginVersion) s += eps.debugHeaderEx () s += eps.debugLine ("Cache %s" % self.cache.version) s += eps.debugLine ("UI %s" % ui.libVersion(True)) s += eps.debugLine ("DateTime %s" % dtutil.libVersion(True)) s += eps.debugLine ("Core %s" % eps.libVersion(True)) s += eps.debugHeaderEx () if forceDebug: self.debugLog (s) return indigo.server.log (s)
def showLibraryVersions (self, forceDebug = False): try: s = eps.debugHeader("LIBRARY VERSIONS") s += eps.debugLine (self.pluginDisplayName + " - v" + self.pluginVersion) s += eps.debugHeaderEx () if "TVERSION" in dir(self): s += eps.debugLine("base: " + self.TVERSION) s += eps.debugLine(" ") s += eps.debugLine("indigo: " + indigo.server.version) for name, val in globals().items(): if isinstance(val, types.ModuleType) or isinstance(val, types.ClassType): #self.logger.info(val.__name__) if "libversion" in dir(val): libname = val.__name__ libversion = getattr(val, "libversion") #() # Resolve common (and potentially confusing) lib names if libname == "eps.eps": libname = "core" if libname == "eps.dtutil": libname = "dtutil" if libname == "eps.ui": libname = "ui" s += eps.debugLine(libname + ": " + libversion) # Check for common libraries if "cache" in dir(self): s += eps.debugLine("cache: " + self.cache.version) if "cond" in dir(self): s += eps.debugLine("conditions: " + self.cond.version) if "eto" in dir(self): s += eps.debugLine("eto: " + self.eto.version) if "sprinkler" in dir(self): s += eps.debugLine("sprinkler: " + self.sprinkler.version) # Iterate over our loaded classes and add them if "CLASSVERSIONS" in dir(self): for v in self.CLASSVERSIONS: s += eps.debugLine(v) s += eps.debugHeaderEx () if forceDebug: self.logger.debug (s) return indigo.server.log (s) # leaving at legacy logging to ensure it gets output no matter what except Exception as e: eps.printException(e)
def supportLog (self): self.showLibraryVersions () s = eps.debugHeader("SUPPORT LOG") # Get plugin prefs s += eps.debugHeader ("PLUGIN PREFRENCES", "=") for k, v in self.pluginPrefs.iteritems(): s += eps.debugLine(k + " = " + unicode(v), "=") s += eps.debugHeaderEx ("=") # Report on cache s += eps.debugHeader ("DEVICE CACHE", "=") for devId, devProps in self.cache.devices.iteritems(): s += eps.debugHeaderEx ("*") s += eps.debugLine(devProps["name"] + ": " + str(devId) + " - " + devProps["deviceTypeId"], "*") s += eps.debugHeaderEx ("*") s += eps.debugHeaderEx ("-") s += eps.debugLine("SUBDEVICES", "-") s += eps.debugHeaderEx ("-") for subDevId, subDevProps in devProps["subDevices"].iteritems(): s += eps.debugHeaderEx ("+") s += eps.debugLine(subDevProps["name"] + ": " + str(devId) + " - " + subDevProps["deviceTypeId"] + " (Var: " + subDevProps["varName"] + ")", "+") s += eps.debugHeaderEx ("+") s += eps.debugLine("WATCHING STATES:", "+") for z in subDevProps["watchStates"]: s += eps.debugLine(" " + z, "+") s += eps.debugHeaderEx ("+") s += eps.debugLine("WATCHING PROPERTIES:", "+") for z in subDevProps["watchProperties"]: s += eps.debugLine(" " + z, "+") if subDevId in indigo.devices: d = indigo.devices[subDevId] if d.pluginId != self.pluginId: s += eps.debugHeaderEx ("!") s += eps.debugLine(d.name + ": " + str(d.id) + " - " + d.deviceTypeId, "!") s += eps.debugHeaderEx ("!") s += eps.debugHeaderEx ("-") s += eps.debugLine("PREFERENCES", "-") s += eps.debugHeaderEx ("-") for k, v in d.pluginProps.iteritems(): s += eps.debugLine(k + " = " + unicode(v), "-") s += eps.debugHeaderEx ("-") s += eps.debugLine("STATES", "-") s += eps.debugHeaderEx ("-") for k, v in d.states.iteritems(): s += eps.debugLine(k + " = " + unicode(v), "-") s += eps.debugHeaderEx ("-") s += eps.debugLine("RAW DUMP", "-") s += eps.debugHeaderEx ("-") s += unicode(d) + "\n" s += eps.debugHeaderEx ("-") else: s += eps.debugHeaderEx ("!") s += eps.debugLine("Plugin Device Already Summarized", "+") s += eps.debugHeaderEx ("!") else: s += eps.debugHeaderEx ("!") s += eps.debugLine("!!!!!!!!!!!!!!! DEVICE DOES NOT EXIST IN INDIGO !!!!!!!!!!!!!!!", "+") s += eps.debugHeaderEx ("!") s += eps.debugHeaderEx ("-") s += eps.debugHeaderEx ("=") # Loop through all devices for this plugin and report s += eps.debugHeader ("PLUGIN DEVICES", "=") for dev in indigo.devices.iter(self.pluginId): s += eps.debugHeaderEx ("*") s += eps.debugLine(dev.name + ": " + str(dev.id) + " - " + dev.deviceTypeId, "*") s += eps.debugHeaderEx ("*") s += eps.debugHeaderEx ("-") s += eps.debugLine("PREFERENCES", "-") s += eps.debugHeaderEx ("-") for k, v in dev.pluginProps.iteritems(): s += eps.debugLine(k + " = " + unicode(v), "-") s += eps.debugHeaderEx ("-") s += eps.debugLine("STATES", "-") s += eps.debugHeaderEx ("-") for k, v in dev.states.iteritems(): s += eps.debugLine(k + " = " + unicode(v), "-") s += eps.debugHeaderEx ("-") s += eps.debugHeaderEx ("=") indigo.server.log(s)