diff --git a/MMM-AirQuality.js b/MMM-AirQuality.js index d1c07a2..ac092a4 100755 --- a/MMM-AirQuality.js +++ b/MMM-AirQuality.js @@ -8,7 +8,6 @@ Module.register('MMM-AirQuality', { // Default module config. defaults: { initialDelay: 0, - lang: '', location: '', showLocation: true, showIndex: true, @@ -38,12 +37,12 @@ Module.register('MMM-AirQuality', { self.loaded = false setTimeout(function () { - self.sendSocketNotification(self.notifications.DATA, self.config) + self.sendSocketNotification(self.notifications.DATA, { identifier: self.identifier, config: self.config }) }, this.config.initialDelay * 1000) // set auto-update setInterval(function () { - self.sendSocketNotification(self.notifications.DATA, self.config) + self.sendSocketNotification(self.notifications.DATA, { identifier: self.identifier, config: self.config }) }, this.config.updateInterval * 60 * 1000 + this.config.initialDelay * 1000) }, render: function (response) { @@ -138,12 +137,14 @@ Module.register('MMM-AirQuality', { Log.debug('received ' + notification) switch (notification) { case self.notifications.DATA_RESPONSE: - if (payload.status === 'OK') { - console.log('Data %o', payload.payloadReturn) - self.render(payload.payloadReturn) - self.updateDom(this.animationSpeed) - } else { - console.log('DATA FAILED ' + payload.message) + if (payload.identifier === this.identifier) { + if (payload.status === 'OK') { + console.log('Data %o', payload.payloadReturn) + self.render(payload.payloadReturn) + self.updateDom(this.animationSpeed) + } else { + console.log('DATA FAILED ' + payload.message) + } } break } diff --git a/helper.js b/helper.js index f6eb89b..b61dcb4 100644 --- a/helper.js +++ b/helper.js @@ -13,11 +13,10 @@ module.exports = { start: function () { console.log('AirQuality helper started ...') }, - loadData: async function (config) { + loadData: async function (payload) { const self = this - self.config = config - const url = `https://${self.config.apiBase}${self.config.dataEndpoint}${self.config.location}/?token=${this.config.token}` - console.log(`AirQuality loaded: ${url}`) + const url = `https://${payload.config.apiBase}${payload.config.dataEndpoint}${payload.config.location}/?token=${payload.config.token}` + console.log(`AirQuality-Fetcher: ${url}`) const result = await fetch(url) .then(response => response.json()) @@ -25,11 +24,13 @@ module.exports = { self.sendSocketNotification(self.notifications.DATA_RESPONSE, { payloadReturn: result, status: 'OK', + identifier: payload.identifier, }) }, socketNotificationReceived: function (notification, payload) { switch (notification) { case this.notifications.DATA: + console.log(`AirQuality-Fetcher: Loading data of ${payload.config.location} for module ${payload.identifier}`) this.loadData(payload) break }