71 lines
1.7 KiB
C++
Executable file
71 lines
1.7 KiB
C++
Executable file
|
|
void pushToInfluxDB(String device, float sensorValues[]) {
|
|
|
|
uint8_t tries = 0;
|
|
boolean addComma = false;
|
|
|
|
String msg = "weather,device=" + device + " ";
|
|
if (!(isnan(sensorValues[SENSOR_TEMPERATURE])))
|
|
{
|
|
msg += "temperature=" + String(sensorValues[SENSOR_TEMPERATURE]);
|
|
addComma = true;
|
|
}
|
|
if (!(isnan(sensorValues[SENSOR_HUMIDITY])))
|
|
{
|
|
if (true == addComma)
|
|
msg += ",";
|
|
msg += "humidity=" + String(sensorValues[SENSOR_HUMIDITY]);
|
|
addComma = true;
|
|
}
|
|
if (!(isnan(sensorValues[SENSOR_LIGHT])))
|
|
{
|
|
if (true == addComma)
|
|
msg += ",";
|
|
msg += "light=" + String(sensorValues[SENSOR_LIGHT]);
|
|
addComma = true;
|
|
}
|
|
if (!(isnan(sensorValues[SENSOR_WINDSPEED])))
|
|
{
|
|
if (true == addComma)
|
|
msg += ",";
|
|
msg += "windspeed=" + String(sensorValues[SENSOR_WINDSPEED]);
|
|
addComma = true;
|
|
}
|
|
if (!(isnan(sensorValues[SENSOR_PRESSURE])))
|
|
{
|
|
if (true == addComma)
|
|
msg += ",";
|
|
msg += "pressure=" + String(sensorValues[SENSOR_PRESSURE]);
|
|
addComma = true;
|
|
}
|
|
if (!(isnan(sensorValues[SENSOR_BAT_VOLTAGE])))
|
|
{
|
|
if (true == addComma)
|
|
msg += ",";
|
|
msg += "batvoltage=" + String(sensorValues[SENSOR_BAT_VOLTAGE]);
|
|
addComma = true;
|
|
}
|
|
if (!(isnan(sensorValues[SENSOR_ESAVEMODE])))
|
|
{
|
|
if (true == addComma)
|
|
msg += ",";
|
|
msg += "esavemode=" + String(sensorValues[SENSOR_ESAVEMODE]);
|
|
addComma = true;
|
|
}
|
|
if (!(isnan(sensorValues[SENSOR_BATCHARGESTATE])))
|
|
{
|
|
if (true == addComma)
|
|
msg += ",";
|
|
msg += "batchargestate=" + String(sensorValues[SENSOR_BATCHARGESTATE]);
|
|
addComma = true;
|
|
}
|
|
|
|
#ifdef DEBUG
|
|
Serial.println(msg);
|
|
#endif
|
|
|
|
do {
|
|
tries++;
|
|
influxdb.write(msg);
|
|
} while (influxdb.response() != DB_SUCCESS and tries < 5);
|
|
}
|