in GreengrassAwareConnection.py [0:0]
def connectShadow(self):
if not self.isConnected():
self.logger.warn("connect regula client first to get host and port")
raise ConnectionError
self.shadowClient = AWSIoTMQTTShadowClient(self.thingName)
self.shadowClient.configureEndpoint(self.currentHost, self.currentPort)
self.shadowClient.configureCredentials(self._getCA(), self.key, self.cert)
# AWSIoTMQTTShadowClient configuration
self.shadowClient.configureAutoReconnectBackoffTime(1, 32, 20)
self.shadowClient.configureConnectDisconnectTimeout(10) # 10 sec
self.shadowClient.configureMQTTOperationTimeout(5) # 5 sec
self.shadowClient._AWSIoTMQTTClient.configureOfflinePublishQueueing(self.offline_queue_depth, DROP_OLDEST)
self.shadowClient.connect()
# Create a deviceShadow with persistent subscription
self.deviceShadowHandler = self.shadowClient.createShadowHandlerWithName(self.thingName, True)
self.deviceShadowHandler.shadowRegisterDeltaCallback(self.deltaHandler)
self.shadowConnected = True