From f9cf91b5c76663999ae67d8acac88adb455e8793 Mon Sep 17 00:00:00 2001 From: Christopher Fenner Date: Thu, 4 Jan 2024 11:52:59 +0100 Subject: [PATCH 1/4] implement --- MMM-AirQuality.js | 16 +++++++++------- helper.js | 7 ++++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/MMM-AirQuality.js b/MMM-AirQuality.js index d1c07a2..209e41c 100755 --- a/MMM-AirQuality.js +++ b/MMM-AirQuality.js @@ -38,7 +38,7 @@ Module.register('MMM-AirQuality', { self.loaded = false setTimeout(function () { - self.sendSocketNotification(self.notifications.DATA, self.config) + self.sendSocketNotification(self.notifications.DATA, self) }, this.config.initialDelay * 1000) // set auto-update @@ -138,12 +138,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.result.status === 'OK') { + console.log('Data %o', payload.result.payloadReturn) + self.render(payload.result.payloadReturn) + self.updateDom(this.animationSpeed) + } else { + console.log('DATA FAILED ' + payload.result.message) + } } break } diff --git a/helper.js b/helper.js index f6eb89b..6284c51 100644 --- a/helper.js +++ b/helper.js @@ -13,9 +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 + self.config = payload.config + const identifier = payload.identifier const url = `https://${self.config.apiBase}${self.config.dataEndpoint}${self.config.location}/?token=${this.config.token}` console.log(`AirQuality loaded: ${url}`) @@ -23,7 +24,7 @@ module.exports = { .then(response => response.json()) self.sendSocketNotification(self.notifications.DATA_RESPONSE, { - payloadReturn: result, + payloadReturn: { identifier, result }, status: 'OK', }) }, From 79b8ffe203d575ad0ca0488bb64e0a2c55f1a29b Mon Sep 17 00:00:00 2001 From: Christopher Fenner Date: Thu, 4 Jan 2024 12:01:39 +0100 Subject: [PATCH 2/4] improve logging --- helper.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/helper.js b/helper.js index 6284c51..3e023cc 100644 --- a/helper.js +++ b/helper.js @@ -15,22 +15,21 @@ module.exports = { }, loadData: async function (payload) { const self = this - self.config = payload.config - const identifier = payload.identifier - 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()) self.sendSocketNotification(self.notifications.DATA_RESPONSE, { - payloadReturn: { identifier, result }, + payloadReturn: { identifier: payload.identifier, result }, status: 'OK', }) }, 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 } From c8abfda1a31783da70db06c7bb10969ec6e8d996 Mon Sep 17 00:00:00 2001 From: Christopher Fenner Date: Thu, 4 Jan 2024 12:13:11 +0100 Subject: [PATCH 3/4] change --- MMM-AirQuality.js | 5 ++--- helper.js | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MMM-AirQuality.js b/MMM-AirQuality.js index 209e41c..e01f418 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) + 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) { diff --git a/helper.js b/helper.js index 3e023cc..b61dcb4 100644 --- a/helper.js +++ b/helper.js @@ -22,8 +22,9 @@ module.exports = { .then(response => response.json()) self.sendSocketNotification(self.notifications.DATA_RESPONSE, { - payloadReturn: { identifier: payload.identifier, result }, + payloadReturn: result, status: 'OK', + identifier: payload.identifier, }) }, socketNotificationReceived: function (notification, payload) { From 80eb9b6384da597596ae0efddfc02bfff724ffc5 Mon Sep 17 00:00:00 2001 From: Christopher Fenner Date: Thu, 4 Jan 2024 12:15:37 +0100 Subject: [PATCH 4/4] fix --- MMM-AirQuality.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MMM-AirQuality.js b/MMM-AirQuality.js index e01f418..ac092a4 100755 --- a/MMM-AirQuality.js +++ b/MMM-AirQuality.js @@ -138,12 +138,12 @@ Module.register('MMM-AirQuality', { switch (notification) { case self.notifications.DATA_RESPONSE: if (payload.identifier === this.identifier) { - if (payload.result.status === 'OK') { - console.log('Data %o', payload.result.payloadReturn) - self.render(payload.result.payloadReturn) + if (payload.status === 'OK') { + console.log('Data %o', payload.payloadReturn) + self.render(payload.payloadReturn) self.updateDom(this.animationSpeed) } else { - console.log('DATA FAILED ' + payload.result.message) + console.log('DATA FAILED ' + payload.message) } } break