diff -r 6eafc4c2bf3d -r c6bbd1380f22 main/task_mqtt.c --- a/main/task_mqtt.c Wed Oct 09 22:51:37 2019 +0200 +++ b/main/task_mqtt.c Fri Oct 11 13:12:34 2019 +0200 @@ -19,8 +19,8 @@ const int TASK_MQTT_DISCONNECT = BIT1; ///< Request MQTT disconnect const int TASK_MQTT_CONNECTED = BIT2; ///< MQTT is connected -const char *sensState[] = { "Ok", "Error" }; -const char *unitMode[] = { "Off", "On" }; +const char *sensState[] = { "OK", "ERROR" }; +const char *unitMode[] = { "OFF", "ON" }; extern DS18B20_State *ds18b20_state; ///< DS18B20 state extern SemaphoreHandle_t xSemaphoreDS18B20; ///< DS18B20 lock semaphore @@ -76,7 +76,7 @@ { char *tmp; - tmp = xstrcpy((char *)"mbv1.0/co2meter/"); + tmp = xstrcpy((char *)"mbv1.0/co2meters/"); tmp = xstrcat(tmp, msgtype); tmp = xstrcat(tmp, (char *)"/"); tmp = xstrcat(tmp, config.hostname); @@ -106,9 +106,14 @@ payload = xstrcat(payload, units[i].uuid); payload = xstrcat(payload, (char *)"\",\"alias\":\""); payload = xstrcat(payload, units[i].alias); + payload = xstrcat(payload, (char *)"\",\"mode\":\""); + payload = xstrcat(payload, (char *)unitMode[units[i].mode]); + payload = xstrcat(payload, (char *)"\",\"alarm\":"); + sprintf(buf, "%d", units[i].alarm); + payload = xstrcat(payload, buf); // temperature_state temperature_address temperature - payload = xstrcat(payload, (char *)"\",\"temperature\":{\"state\":\""); + payload = xstrcat(payload, (char *)",\"temperature\":{\"state\":\""); payload = xstrcat(payload, (char *)sensState[units[i].temperature_state]); payload = xstrcat(payload, (char *)"\",\"address\":\""); payload = xstrcat(payload, (char *)units[i].temperature_rom_code); @@ -131,9 +136,7 @@ payload = xstrcat(payload, (char *)",\"bar\":"); sprintf(buf, "%.2f", units[i].pressure / 1000.0); payload = xstrcat(payload, buf); - payload = xstrcat(payload, (char *)"},\"mode\":\""); - payload = xstrcat(payload, (char *)unitMode[units[i].mode]); - payload = xstrcat(payload, (char *)"\"}"); + payload = xstrcat(payload, (char *)"}}"); xSemaphoreGive(xSemaphoreUnits); } return payload;