diff -r c6bbd1380f22 -r a85995941d0d main/task_mqtt.c --- 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) {