Pushing only valid values

This commit is contained in:
Thomas Kopp 2019-01-27 16:29:58 +01:00
parent dcc4ce9290
commit 07ed99f9a2

30
firmware/influxdb.ino Executable file → Normal file
View file

@ -1,13 +1,7 @@
void pushToInfluxDB(String device, float sensorValues[]) { void pushToInfluxDB(String device, float sensorValues[]) {
/*influxdb.write("weather,device=" + device + " temperature=" + String(sensorValues[SENSOR_TEMPERATURE])); #ifdef DEBUG
influxdb.write("weather,device=" + device + " humidity=" + String(sensorValues[SENSOR_HUMIDITY]));
influxdb.write("weather,device=" + device + " light=" + String(sensorValues[SENSOR_LIGHT]));
influxdb.write("weather,device=" + device + " windspeed=" + String(sensorValues[SENSOR_WINDSPEED]));
influxdb.write("weather,device=" + device + " pressure=" + String(sensorValues[SENSOR_PRESSURE]));
influxdb.write("weather,device=" + device + " batvoltage=" + String(sensorValues[SENSOR_BAT_VOLTAGE]));*/
String msg = "weather,device=" + device + " temperature=" + String(sensorValues[SENSOR_TEMPERATURE]) String msg = "weather,device=" + device + " temperature=" + String(sensorValues[SENSOR_TEMPERATURE])
+ ",humidity=" + String(sensorValues[SENSOR_HUMIDITY]) + ",humidity=" + String(sensorValues[SENSOR_HUMIDITY])
+ ",light=" + String(sensorValues[SENSOR_LIGHT]) + ",light=" + String(sensorValues[SENSOR_LIGHT])
@ -15,12 +9,24 @@ void pushToInfluxDB(String device, float sensorValues[]) {
+ ",pressure=" + String(sensorValues[SENSOR_PRESSURE]) + ",pressure=" + String(sensorValues[SENSOR_PRESSURE])
+ ",batvoltage=" + String(sensorValues[SENSOR_BAT_VOLTAGE]); + ",batvoltage=" + String(sensorValues[SENSOR_BAT_VOLTAGE]);
uint8_t tries = 0; Serial.println(msg);
#endif
uint8_t tries = 0;
do { do {
tries++; tries++;
influxdb.write(msg); if (!(isnan(sensorValues[SENSOR_TEMPERATURE])))
influxdb.write("weather,device=" + device + " temperature=" + String(sensorValues[SENSOR_TEMPERATURE]));
if (!(isnan(sensorValues[SENSOR_HUMIDITY])))
influxdb.write("weather,device=" + device + " humidity=" + String(sensorValues[SENSOR_HUMIDITY]));
if (!(isnan(sensorValues[SENSOR_LIGHT])))
influxdb.write("weather,device=" + device + " light=" + String(sensorValues[SENSOR_LIGHT]));
if (!(isnan(sensorValues[SENSOR_WINDSPEED])))
influxdb.write("weather,device=" + device + " windspeed=" + String(sensorValues[SENSOR_WINDSPEED]));
if (!(isnan(sensorValues[SENSOR_PRESSURE])))
influxdb.write("weather,device=" + device + " pressure=" + String(sensorValues[SENSOR_PRESSURE]));
if (!(isnan(sensorValues[SENSOR_BAT_VOLTAGE])))
influxdb.write("weather,device=" + device + " batvoltage=" + String(sensorValues[SENSOR_BAT_VOLTAGE]));
} while (influxdb.response() != DB_SUCCESS and tries < 5); } while (influxdb.response() != DB_SUCCESS and tries < 5);
} }