main/task_mqtt.c

changeset 9
a85995941d0d
parent 8
c6bbd1380f22
child 11
e33f2d325d15
--- a/main/task_mqtt.c	Fri Oct 11 13:12:34 2019 +0200
+++ b/main/task_mqtt.c	Fri Oct 11 15:56:30 2019 +0200
@@ -222,6 +222,39 @@
 
 
 
+void publishLogs(void)
+{
+    char	*topic = NULL, *payload = NULL, buf[64];
+
+    for (int i = 0; i < 3; i++) {
+	if (units[i].mode && ! units[i].alarm) {
+	    if (xSemaphoreTake(xSemaphoreUnits, 25) == pdTRUE) {
+		payload = payload_header();
+		payload = xstrcat(payload, (char *)"{\"uuid\":\"");
+    		payload = xstrcat(payload, units[i].uuid);
+		payload = xstrcat(payload, (char *)"\",\"temperature\":");
+		sprintf(buf, "%.3f", units[i].temperature / 1000.0);
+		payload = xstrcat(payload, buf);
+		payload = xstrcat(payload, (char *)",\"pressure\":");
+		sprintf(buf, "%.3f", units[i].pressure / 1000.0);
+		payload = xstrcat(payload, buf);
+		payload = xstrcat(payload, (char *)"}}");
+		topic = topic_base((char *)"DLOG");
+		topic = xstrcat(topic, (char *)"/");
+		topic = xstrcat(topic, units[i].alias);
+		publisher(topic, payload);
+		free(topic);
+		topic = NULL;
+		free(payload);
+		payload = NULL;
+		xSemaphoreGive(xSemaphoreUnits);
+	    }
+	}
+    }
+}
+
+
+
 static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event)
 {
     switch (event->event_id) {

mercurial