- Connect to the Indigo server with a remote client running on a MacBook.
- With the remote connection active, close the lid of the laptop and wait for the laptop to sleep.
- Code: Select all
2020-02-24 22:53:04.006 Adapters Error Error in plugin execution ServerReplacedElem:
StandardError: ServerCommunicationError -- timeout waiting for response
2020-02-24 22:53:04.006 HomeKit Bridge Error Exception in homekit.deviceInitialize line 867: ServerCommunicationError -- timeout waiting for response
2020-02-24 22:53:04.006 Sonos Error Error in plugin execution runConcurrentThread:
StandardError: ServerCommunicationError -- timeout waiting for response
2020-02-24 22:53:04.006 Sonos Error plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
2020-02-24 22:53:04.006 GhostXML Error Error in plugin execution runConcurrentThread:
StandardError: ServerCommunicationError -- timeout waiting for response
2020-02-24 22:53:04.007 GhostXML Error plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
2020-02-24 22:53:04.031 OWServer Error Error parsing sensor states: ServerCommunicationError -- timeout waiting for response
2020-02-24 22:53:04.032 OWServer Error Trying again in 60 seconds.
Adapters:
- Code: Select all
def runConcurrentThread(self):
try:
while True:
self.sleep(5)
except self.StopThread:
pass # Optionally catch the StopThread exception and do any needed cleanup.
Homekit:
- Code: Select all
def runConcurrentThread(self):
try:
while True:
self._callBack (BEFORE, [])
# Removed any update checking as of 2.2.1 because the Indigo Plugin Store renders is obsolete
#if "update" in dir(self.factory):
# self.factory.update.check (False, False)
if "devices" in dir(self.factory):
self.factory.devices.runConcurrentThread()
if "http" in dir(self.factory):
self.factory.http.runConcurrentThread()
self._callBack (AFTER, [])
self.isFinishedLoading() # Passive if we are ready, calculation if we are not - lightweight
self.factory.plugin.sleep(1)
except self.factory.plugin.StopThread:
pass
Sonos:
- Code: Select all
def runConcurrentThread(self):
self.plugin.debugLog(u"Running Concurrent Thread")
if self.EventProcessor == "SoCo":
x = Thread(target=self.SoCoReactor)
x.setDaemon(True)
x.start()
updateTime = time.time()
eventTime = time.time()
subTestTime = time.time()
relTime = time.time()
while self.plugin.StopThread == False:
if time.time() - updateTime >= 3600:
updateTime = time.time()
if time.time() - eventTime >= int(self.EventCheck):
eventTime = time.time()
self.checkEvents()
if time.time() - subTestTime >= int(self.SubscriptionCheck):
subTestTime = time.time()
self.socoSubTest()
if time.time() - relTime >= 1:
relTime = time.time()
self.updateRelTime()
self.plugin.sleep(0.1)
GhostXML:
- Code: Select all
while not self.pluginIsShuttingDown:
# Iterate devices to see if an update is required.
for devId in self.managedDevices:
dev = self.managedDevices[devId].device
# 2019-12-22 DaveL17
# If device name has changed in Indigo, update the copy in managedDevices.
# TODO: consider moving this to its own method and adding anything else that might need updating.
if dev.name != indigo.devices[devId].name:
self.managedDevices[devId].device.name = indigo.devices[devId].name
# If a device has failed too many times, disable it and notify the user.
retries = int(dev.pluginProps.get('maxRetries', 10))
if self.managedDevices[devId].bad_calls >= retries:
self.process_bad_calls(dev, retries)
# If time_to_update returns True, add device to its queue.
else:
if self.time_to_update(dev):
self.managedDevices[devId].queue.put(dev)
self.process_triggers()
self.sleep(2)
except self.StopThread:
self.indigo_log_handler.setLevel(20)
self.logger.info(u'Stopping main thread.')
self.indigo_log_handler.setLevel(self.debugLevel)
OWServer:
- Code: Select all
def runConcurrentThread(self):
self.debugLog(u"Starting main OWServer thread.")
self.sleep(5)
try:
while True:
self.spotDeadSensors()
self.updateDeviceStates()
sleep_time = int(self.pluginPrefs.get('configMenuPollInterval', 900))
self.sleep(sleep_time-5)
except self.StopThread:
self.debugLog(u"Fatal error. Stopping OWServer thread.")
Edit: fixed typo.