]> mj.ucw.cz Git - home-hw.git/blobdiff - influx/burrow-influx.c
Merge branch 'master' of ssh://git.ucw.cz/home/mj/GIT/home-hw
[home-hw.git] / influx / burrow-influx.c
index 5fb683e1a5219d714ab729ed544f947fa67954fa..23b671ce7e03921726241405cb7d432d1f0d49e3 100644 (file)
@@ -35,6 +35,7 @@ struct attr {
        const char *value_name;
        const char *topic;
        uint timeout;
+       bool is_string;
 };
 
 static const struct attr attr_table[] = {
@@ -59,9 +60,9 @@ 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",
@@ -221,7 +222,7 @@ static const struct attr attr_table[] = {
                .timeout = 660,
        },
        {
-               .metric = "pump_active,circuit=1",
+               .metric = "heating_pump_active,circuit=1",
                .value_name = "x",
                .topic = "burrow/heating/circuit1/pump",
                .timeout = 300,
@@ -244,6 +245,19 @@ static const struct attr attr_table[] = {
                .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 ***/
@@ -420,7 +434,10 @@ int main(int argc UNUSED, char **argv)
        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))
@@ -452,7 +469,10 @@ int main(int argc UNUSED, char **argv)
                                        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);