Publish refactoring (#298)

* factoring of the publishing function
* integration of json publishing to MQTT
* receiving and transcode json messages from mqtt
* replace the TRACE runtime condition by a buildtime one so as to decrease program size
* remove retainFlag parameter not necessary for the moment
* Increase the scope of tests for arduino mega and esp32
* Update arduinojson library to 5.13.3
* add macros to choose between simple or json publishing or both
* differentiate build test for ATmega2560
* correct wrong sprintf definition
* change IDE version for continuous integration
* let default warning level in arduino ide
* correct pins for ESP32
* reorganize user_config
This commit is contained in:
Florian authored and GitHub committed 2018-11-05 22:02:27 +01:00
1 parent f77df7347f
commit d8dba15a81
182 files changed
+2701 -20768

No files matched your search

+10 -6
View File
@@ -90,6 +90,10 @@ void MeasureLightIntensityTSL2561()
if (millis() > (timetsl2561 + TimeBetweenReadingtsl2561)) {
static uint32_t persisted_lux;
timetsl2561 = millis();
trc(F("Creating TSL2561 buffer"));
StaticJsonBuffer<JSON_MSG_BUFFER> jsonBuffer;
JsonObject& TSL2561data = jsonBuffer.createObject();
sensors_event_t event;
tsl.getEvent(&event);
@@ -98,11 +102,12 @@ void MeasureLightIntensityTSL2561()
{
if (persisted_lux != event.light || tsl2561_always ) {
persisted_lux = event.light;
trc("Sending Light Intensity in Lux to MQTT " + String(event.light) + " lux");
client.publish(LUX, String(event.light).c_str());
client.publish(FTCD, String((event.light)/10.764).c_str());
client.publish(WATTSM2, String((event.light)/683.0).c_str());
TSL2561data.set("lux", (float)event.light);
TSL2561data.set("ftcd", (float)(event.light)/10.764);
TSL2561data.set("wattsm2", (float)(event.light)/683.0);
pub(subjectTSL12561toMQTT,TSL2561data);
} else {
trc("Same lux value, do not send");
}
@@ -112,4 +117,3 @@ void MeasureLightIntensityTSL2561()
}
}
#endif