[SYS] Implement a central queue (#1767)

to avoid concurrency issues when modules or/and gateways want to publish data
This commit is contained in:
Florian authored and GitHub committed 2023-11-08 07:26:21 -06:00
1 parent ca9ef664ab
commit 029409c0c3
39 files changed
+491 -407

No files matched your search

+4 -4
View File
@@ -54,8 +54,8 @@ void setupZsensorBH1750() {
void MeasureLightIntensity() {
if (millis() > (timebh1750 + TimeBetweenReadingBH1750)) { //retrieving value of Lux, FtCd and Wattsm2 from BH1750
Log.trace(F("Creating BH1750 buffer" CR));
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
JsonObject BH1750data = jsonBuffer.to<JsonObject>();
StaticJsonDocument<JSON_MSG_BUFFER> BH1750dataBuffer;
JsonObject BH1750data = BH1750dataBuffer.to<JsonObject>();
timebh1750 = millis();
unsigned int i = 0;
@@ -100,8 +100,8 @@ void MeasureLightIntensity() {
} else {
Log.trace(F("Same wattsm2 don't send it" CR));
}
if (BH1750data.size() > 0)
pub(subjectBH1750toMQTT, BH1750data);
BH1750data["origin"] = subjectBH1750toMQTT;
enqueueJsonObject(BH1750data);
}
persistedll = Lux;
persistedlf = ftcd;