diff -r 6d97eb820cc1 -r 3518c07737d8 thermferm/mqtt.c --- a/thermferm/mqtt.c Sat Apr 20 11:48:20 2024 +0200 +++ b/thermferm/mqtt.c Mon Apr 22 11:33:04 2024 +0200 @@ -38,7 +38,7 @@ extern const char UNITMODE[5][8]; extern const char UNITSTAGE[4][12]; extern const char PROFSTATE[5][6]; -extern const char TEMPSTATE[3][8]; +extern const char DEVPRESENT[4][6]; int Sequence = 0; @@ -932,7 +932,7 @@ payload = xstrcat(payload, (char *)",\"air\":{\"address\":\""); payload = xstrcat(payload, unit->air_address); payload = xstrcat(payload, (char *)"\",\"state\":\""); - payload = xstrcat(payload, (char *)TEMPSTATE[unit->air_state]); + payload = xstrcat(payload, (char *)DEVPRESENT[unit->air_state]); payload = xstrcat(payload, (char *)"\",\"temperature\":"); sprintf(buf, "%.3f", unit->air_temperature / 1000.0); payload = xstrcat(payload, buf); @@ -949,7 +949,7 @@ payload = xstrcat(payload, (char *)",\"beer\":{\"address\":\""); payload = xstrcat(payload, unit->beer_address); payload = xstrcat(payload, (char *)"\",\"state\":\""); - payload = xstrcat(payload, (char *)TEMPSTATE[unit->beer_state]); + payload = xstrcat(payload, (char *)DEVPRESENT[unit->beer_state]); payload = xstrcat(payload, (char *)"\",\"temperature\":"); sprintf(buf, "%.3f", unit->beer_temperature / 1000.0); payload = xstrcat(payload, buf); @@ -966,7 +966,7 @@ payload = xstrcat(payload, (char *)",\"chiller\":{\"address\":\""); payload = xstrcat(payload, unit->chiller_address); payload = xstrcat(payload, (char *)"\",\"state\":\""); - payload = xstrcat(payload, (char *)TEMPSTATE[unit->chiller_state]); + payload = xstrcat(payload, (char *)DEVPRESENT[unit->chiller_state]); payload = xstrcat(payload, (char *)"\",\"temperature\":"); sprintf(buf, "%.3f", unit->chiller_temperature / 1000.0); payload = xstrcat(payload, buf); @@ -1347,7 +1347,7 @@ payload = xstrcat(payload, buf); comma = true; } - if (Config.temp_address) { + if (Config.temp_uuid) { if (comma) payload = xstrcat(payload, (char *)","); payload = xstrcat(payload, (char *)"\"room\":"); @@ -1429,37 +1429,37 @@ payload = xstrcat(payload, (char *)"\",\"FW\":\""); payload = xstrcat(payload, (char *)VERSION); payload = xstrcat(payload, (char *)"\",\"server_port\":"); - sprintf(buf, "%d", Config.my_port); + sprintf(buf, "%d", Config.server_port); payload = xstrcat(payload, buf); payload = xstrcat(payload, (char *)",\"websocket_port\":"); sprintf(buf, "%d", Config.websocket_port); payload = xstrcat(payload, buf); - if (Config.temp_address || Config.hum_address) { + if (Config.temp_uuid || Config.hum_uuid) { payload = xstrcat(payload, (char *)",\"THB\":{"); - if (Config.temp_address) { - payload = xstrcat(payload, (char *)"\"temperature\":{\"address\":\""); - payload = xstrcat(payload, Config.temp_address); + if (Config.temp_uuid) { + payload = xstrcat(payload, (char *)"\"temperature\":{\"uuid\":\""); + payload = xstrcat(payload, Config.temp_uuid); payload = xstrcat(payload, (char *)"\",\"state\":\""); - payload = xstrcat(payload, (char *)TEMPSTATE[Config.temp_state]); + payload = xstrcat(payload, (char *)DEVPRESENT[Config.temp_state]); payload = xstrcat(payload, (char *)"\",\"value\":"); sprintf(buf, "%d", Config.temp_value); payload = xstrcat(payload, buf); payload = xstrcat(payload, (char *)"}"); } - if (Config.temp_address && Config.hum_address) + if (Config.temp_uuid && Config.hum_uuid) payload = xstrcat(payload, (char *)","); - if (Config.hum_address) { - payload = xstrcat(payload, (char *)"\"humidity\":{\"address\":\""); - payload = xstrcat(payload, Config.hum_address); + if (Config.hum_uuid) { + payload = xstrcat(payload, (char *)"\"humidity\":{\"uuid\":\""); + payload = xstrcat(payload, Config.hum_uuid); payload = xstrcat(payload, (char *)"\",\"state\":\""); - payload = xstrcat(payload, (char *)TEMPSTATE[Config.hum_state]); + payload = xstrcat(payload, (char *)DEVPRESENT[Config.hum_state]); payload = xstrcat(payload, (char *)"\",\"value\":"); sprintf(buf, "%d", Config.hum_value); payload = xstrcat(payload, buf); payload = xstrcat(payload, (char *)"}"); } - if (Config.temp_address || Config.hum_address) + if (Config.temp_uuid || Config.hum_uuid) payload = xstrcat(payload, (char *)","); payload = xstrcat(payload, (char *)"\"index\":"); sprintf(buf, "%d", Config.temp_hum_idx); @@ -1571,20 +1571,20 @@ comma = true; } - if (Config.temp_address || Config.hum_address) { + if (Config.temp_uuid || Config.hum_uuid) { if (comma) payload = xstrcat(payload, (char *)","); payload = xstrcat(payload, (char *)"\"THB\":{"); - if (Config.temp_address) { + if (Config.temp_uuid) { payload = xstrcat(payload, (char *)"\"temperature\":"); - sprintf(buf, "%.1f", Config.temp_value / 1000.0); + sprintf(buf, "%d", Config.temp_value); payload = xstrcat(payload, buf); } - if (Config.temp_address && Config.hum_address) + if (Config.temp_uuid && Config.hum_uuid) payload = xstrcat(payload, (char *)","); - if (Config.hum_address) { + if (Config.hum_uuid) { payload = xstrcat(payload, (char *)"\"humidity\":"); - sprintf(buf, "%.1f", Config.hum_value / 1000.0); + sprintf(buf, "%d", Config.hum_value); payload = xstrcat(payload, buf); } payload = xstrcat(payload, (char *)"}"); @@ -1698,7 +1698,7 @@ free(payload); payload = NULL; - if ((Config.temp_address || Config.hum_address) && Config.temp_hum_idx) { + if ((Config.temp_uuid || Config.hum_uuid) && Config.temp_hum_idx) { sprintf(sidx, "%d", Config.temp_hum_idx); sprintf(buf, "%.1f;%.1f;0", Config.temp_value / 1000.0, Config.hum_value / 1000.0);