/*
* A gateway between MQTT and InfluxDB
*
- * (c) 2018--2019 Martin Mares <mj@ucw.cz>
+ * (c) 2018--2020 Martin Mares <mj@ucw.cz>
*/
#include <ucw/lib.h>
const char *metric;
const char *value_name;
const char *topic;
+ uint timeout;
};
static const struct attr attr_table[] = {
.value_name = "kVArh",
.topic = "burrow/power/reactive/energy",
},
+ {
+ .metric = "heating_water_pressure",
+ .value_name = "p",
+ .topic = "burrow/heating/water-pressure",
+ .timeout = 300,
+ },
+ {
+ .metric = "heating_outside_temp",
+ .value_name = "t",
+ .topic = "burrow/heating/outside-temp",
+ .timeout = 300,
+ },
+ {
+ .metric = "heating_room_temp,circuit=1",
+ .value_name = "t",
+ .topic = "burrow/heating/circuit1/room-temp",
+ .timeout = 300,
+ },
+ {
+ .metric = "heating_mix-temp,circuit=1",
+ .value_name = "t",
+ .topic = "burrow/heating/circuit1/mix-temp",
+ .timeout = 300,
+ },
+ {
+ .metric = "heating_mix-valve,circuit=1",
+ .value_name = "x",
+ .topic = "burrow/heating/circuit1/mix-valve",
+ .timeout = 300,
+ },
+ {
+ .metric = "heating_room_temp,circuit=2",
+ .value_name = "t",
+ .topic = "burrow/heating/circuit2/room-temp",
+ .timeout = 300,
+ },
};
/*** MQTT ***/
continue;
if (fields >= 2) {
time_t t = atoll(w[1]);
- if (t < now - MEASUREMENT_TIMEOUT)
+ uint timeout = a->timeout ? : MEASUREMENT_TIMEOUT;
+ if (t < now - timeout)
continue;
}