32 lines
1.6 KiB
C++
32 lines
1.6 KiB
C++
|
|
void pushToInfluxDB(String device, float sensorValues[]) {
|
|
|
|
#ifdef DEBUG
|
|
String msg = "weather,device=" + device + " temperature=" + String(sensorValues[SENSOR_TEMPERATURE])
|
|
+ ",humidity=" + String(sensorValues[SENSOR_HUMIDITY])
|
|
+ ",light=" + String(sensorValues[SENSOR_LIGHT])
|
|
+ ",windspeed=" + String(sensorValues[SENSOR_WINDSPEED])
|
|
+ ",pressure=" + String(sensorValues[SENSOR_PRESSURE])
|
|
+ ",batvoltage=" + String(sensorValues[SENSOR_BAT_VOLTAGE]);
|
|
|
|
Serial.println(msg);
|
|
#endif
|
|
|
|
uint8_t tries = 0;
|
|
do {
|
|
tries++;
|
|
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);
|
|
}
|
|
|