const char *value_name;
const char *topic;
uint timeout;
+ bool is_string;
};
static const struct attr attr_table[] = {
.topic = "burrow/temp/garage"
},
{
- .metric = "temp,where=kitchen",
+ .metric = "temp,where=terarium",
.value_name = "t",
- .topic = "burrow/temp/kitchen"
+ .topic = "burrow/temp/terarium"
},
{
.metric = "rh,where=ursarium",
.value_name = "pwm",
.topic = "burrow/air/exchanger-fan"
},
-#if 0
{
.metric = "loft_fan",
+ .value_name = "on",
.topic = "burrow/loft/fan"
},
-#endif
{
.metric = "water_circ",
.value_name = "on",
.metric = "heating_outside_temp",
.value_name = "t",
.topic = "burrow/heating/outside-temp",
- .timeout = 300,
+ .timeout = 660,
},
{
.metric = "heating_room_temp,circuit=1",
.topic = "burrow/heating/circuit1/mix-valve",
.timeout = 300,
},
+ {
+ .metric = "heating_active,circuit=1",
+ .value_name = "x",
+ .topic = "burrow/heating/circuit1/active",
+ .timeout = 660,
+ },
+ {
+ .metric = "heating_pump_active,circuit=1",
+ .value_name = "x",
+ .topic = "burrow/heating/circuit1/pump",
+ .timeout = 300,
+ },
{
.metric = "heating_room_temp,circuit=2",
.value_name = "t",
.topic = "burrow/heating/circuit2/room-temp",
.timeout = 300,
},
+ {
+ .metric = "heating_active,circuit=2",
+ .value_name = "x",
+ .topic = "burrow/heating/circuit2/active",
+ .timeout = 660,
+ },
+ {
+ .metric = "heating_active,circuit=water",
+ .value_name = "x",
+ .topic = "burrow/heating/water/active",
+ .timeout = 660,
+ },
+ {
+ .metric = "heating_error",
+ .value_name = "err",
+ .topic = "burrow/heating/error",
+ .timeout = 300,
+ },
+ {
+ .metric = "heating_clock",
+ .value_name = "t",
+ .topic = "burrow/heating/clock",
+ .timeout = 660,
+ .is_string = true,
+ },
};
/*** MQTT ***/
if (mosquitto_will_set(mosq, "status/influx", 4, "dead", 0, true) != MOSQ_ERR_SUCCESS)
die("Mosquitto: unable to set will");
- if (mosquitto_connect_async(mosq, "10.32.184.5", 1883, 60) != MOSQ_ERR_SUCCESS)
+ if (mosquitto_tls_set(mosq, "/etc/burrow-mqtt/ca.crt", NULL, "/etc/burrow-mqtt/client.crt", "/etc/burrow-mqtt/client.key", NULL) != MOSQ_ERR_SUCCESS)
+ die("Mosquitto: unable to set TLS parameters");
+
+ if (mosquitto_connect_async(mosq, "burrow-mqtt", 8883, 60) != MOSQ_ERR_SUCCESS)
die("Mosquitto: connect failed");
if (mosquitto_loop_start(mosq))
continue;
}
- bprintf(f, "%s %s=%s\n", a->metric, a->value_name, val);
+ if (!a->is_string)
+ bprintf(f, "%s %s=%s\n", a->metric, a->value_name, val);
+ else
+ bprintf(f, "%s %s=\"%s\"\n", a->metric, a->value_name, val);
}
influx_write_flush();
sleep(INFLUX_INTERVAL);