1385 free(payload); |
1400 free(payload); |
1386 payload = NULL; |
1401 payload = NULL; |
1387 free(topic); |
1402 free(topic); |
1388 topic = NULL; |
1403 topic = NULL; |
1389 } |
1404 } |
|
1405 } |
|
1406 |
|
1407 |
|
1408 void node_ws(void) |
|
1409 { |
|
1410 char *payload = NULL, buf[64]; |
|
1411 struct utsname ubuf; |
|
1412 |
|
1413 payload = xstrcpy((char *)"{\"thermferm\":{"); |
|
1414 |
|
1415 if (uname(&ubuf) == 0) { |
|
1416 payload = xstrcat(payload, (char *)"\"node\":\""); |
|
1417 payload = xstrcat(payload, ubuf.nodename); |
|
1418 payload = xstrcat(payload, (char *)"\",\"os\":\""); |
|
1419 payload = xstrcat(payload, ubuf.sysname); |
|
1420 payload = xstrcat(payload, (char *)"\",\"os_version\":\""); |
|
1421 payload = xstrcat(payload, ubuf.release); |
|
1422 payload = xstrcat(payload, (char *)"\""); |
|
1423 } else { |
|
1424 payload = xstrcat(payload, (char *)"\"node\":\"Unknown\",\"os\":\"Unknown\",\"os_version\":\"Unknown\""); |
|
1425 } |
|
1426 payload = xstrcat(payload, (char *)",\"FW\":\""); |
|
1427 payload = xstrcat(payload, (char *)VERSION); |
|
1428 payload = xstrcat(payload, (char *)"\""); |
|
1429 |
|
1430 if (Config.temp_address || Config.hum_address) { |
|
1431 payload = xstrcat(payload, (char *)",\"THB\":{"); |
|
1432 if (Config.temp_address) { |
|
1433 payload = xstrcat(payload, (char *)"\"temperature\":"); |
|
1434 sprintf(buf, "%.1f", Config.temp_value / 1000.0); |
|
1435 payload = xstrcat(payload, buf); |
|
1436 } |
|
1437 if (Config.temp_address && Config.hum_address) |
|
1438 payload = xstrcat(payload, (char *)","); |
|
1439 if (Config.hum_address) { |
|
1440 payload = xstrcat(payload, (char *)"\"humidity\":"); |
|
1441 sprintf(buf, "%.1f", Config.hum_value / 1000.0); |
|
1442 payload = xstrcat(payload, buf); |
|
1443 } |
|
1444 payload = xstrcat(payload, (char *)"}"); |
|
1445 } |
|
1446 |
|
1447 payload = xstrcat(payload, (char *)"}}"); |
|
1448 ws_broadcast(payload); |
|
1449 free(payload); |
|
1450 payload = NULL; |
1390 } |
1451 } |
1391 |
1452 |
1392 |
1453 |
1393 |
1454 |
1394 void publishNData(bool birth, int flag) |
1455 void publishNData(bool birth, int flag) |