thermferm/mqtt.c

changeset 693
3518c07737d8
parent 689
f94b525f7563
child 698
92a080c1a5d5
--- 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);
 

mercurial