bmsd/nodes.c

changeset 703
faeede125639
parent 695
cfe232710027
child 792
36d51473aa81
--- a/bmsd/nodes.c	Sat Jun 13 13:50:57 2020 +0200
+++ b/bmsd/nodes.c	Mon Jun 15 20:26:46 2020 +0200
@@ -82,7 +82,7 @@
     	node->firstseen = node->lastseen = time(NULL);
     	node->temperature = node->humidity = node->barometer = 0.0;
     	node->gps_latitude = node->gps_longitude = node->gps_altitude = 0.0;
-	node->net_address = node->net_ifname = NULL;
+	node->net_address = node->net_ifname = node->net_ssid = NULL;
 	node->net_rssi = 0;
 	node->interval = 300;
     }
@@ -171,6 +171,11 @@
 		    free(node->net_ifname);
 		node->net_ifname = xstrcpy((char *)json_object_get_string(val));
 	    }
+	    if (json_object_object_get_ex(metric2, "ssid", &val)) {
+                if (node->net_ssid)
+                    free(node->net_ssid);
+                node->net_ssid = xstrcpy((char *)json_object_get_string(val));
+            }
 	    if (json_object_object_get_ex(metric2, "rssi", &val)) {
 		node->net_rssi = json_object_get_int(val);
 	    }
@@ -233,6 +238,11 @@
     msg = xstrcat(msg, (char *)"\",\"net_address\":\"");
     msg = xstrcat(msg, node->net_address);
     msg = xstrcat(msg, (char *)"\"");
+    if (node->net_ssid) {
+	msg = xstrcat(msg, (char *)",\"net_ssid\":\"");
+	msg = xstrcat(msg, node->net_ssid);
+	msg = xstrcat(msg, (char *)"\"");
+    }
     if (node->net_rssi != 0) {
     	msg = xstrcat(msg, (char *)",\"net_rssi\":");
     	snprintf(buf, 64, "%d", node->net_rssi);
@@ -278,7 +288,7 @@
     	printf("THB       %.2f  %.2f  %.2f\n", node->temperature, node->humidity, node->barometer);
     	printf("GPS       %.5f  %.5f  %.5f\n", node->gps_latitude, node->gps_longitude, node->gps_altitude);
 	printf("net       %s:%s\n", node->net_ifname, node->net_address);
-	printf("rssi      %d\n", node->net_rssi);
+	printf("ssid rssi %s %d\n", node->net_ssid, node->net_rssi);
 	printf("interval  %d\n", node->interval);
     }
 }

mercurial