thermferm/mqtt.c

changeset 708
13555c27b592
parent 703
344470c6bb1c
equal deleted inserted replaced
707:b435bf0bf24a 708:13555c27b592
949 * Beer temperature sensor 949 * Beer temperature sensor
950 */ 950 */
951 if (unit->beer_address) { 951 if (unit->beer_address) {
952 payload = xstrcat(payload, (char *)",\"beer\":{\"address\":\""); 952 payload = xstrcat(payload, (char *)",\"beer\":{\"address\":\"");
953 payload = xstrcat(payload, unit->beer_address); 953 payload = xstrcat(payload, unit->beer_address);
954 if (unit->beer_address2) {
955 payload = xstrcat(payload, (char *)"\",\"address2\":\"");
956 payload = xstrcat(payload, unit->beer_address2);
957 }
954 payload = xstrcat(payload, (char *)"\",\"state\":\""); 958 payload = xstrcat(payload, (char *)"\",\"state\":\"");
955 payload = xstrcat(payload, (char *)DEVPRESENT[unit->beer_state]); 959 payload = xstrcat(payload, (char *)DEVPRESENT[unit->beer_state]);
956 payload = xstrcat(payload, (char *)"\",\"temperature\":"); 960 payload = xstrcat(payload, (char *)"\",\"temperature\":");
957 sprintf(buf, "%.3f", unit->beer_temperature / 1000.0); 961 sprintf(buf, "%.3f", unit->beer_temperature / 1000.0);
958 payload = xstrcat(payload, buf); 962 payload = xstrcat(payload, buf);
1517 payload = xstrcat(payload, (char *)"\"temperature\":{\"uuid\":\""); 1521 payload = xstrcat(payload, (char *)"\"temperature\":{\"uuid\":\"");
1518 payload = xstrcat(payload, Config.temp_uuid); 1522 payload = xstrcat(payload, Config.temp_uuid);
1519 payload = xstrcat(payload, (char *)"\",\"state\":\""); 1523 payload = xstrcat(payload, (char *)"\",\"state\":\"");
1520 payload = xstrcat(payload, (char *)DEVPRESENT[Config.temp_state]); 1524 payload = xstrcat(payload, (char *)DEVPRESENT[Config.temp_state]);
1521 payload = xstrcat(payload, (char *)"\",\"value\":"); 1525 payload = xstrcat(payload, (char *)"\",\"value\":");
1522 sprintf(buf, "%d", Config.temp_value); 1526 sprintf(buf, "%.1f", Config.temp_value / 1000.0);
1523 payload = xstrcat(payload, buf); 1527 payload = xstrcat(payload, buf);
1524 payload = xstrcat(payload, (char *)"}"); 1528 payload = xstrcat(payload, (char *)"}");
1525 } 1529 }
1526 if (Config.temp_uuid && Config.hum_uuid) 1530 if (Config.temp_uuid && Config.hum_uuid)
1527 payload = xstrcat(payload, (char *)","); 1531 payload = xstrcat(payload, (char *)",");
1529 payload = xstrcat(payload, (char *)"\"humidity\":{\"uuid\":\""); 1533 payload = xstrcat(payload, (char *)"\"humidity\":{\"uuid\":\"");
1530 payload = xstrcat(payload, Config.hum_uuid); 1534 payload = xstrcat(payload, Config.hum_uuid);
1531 payload = xstrcat(payload, (char *)"\",\"state\":\""); 1535 payload = xstrcat(payload, (char *)"\",\"state\":\"");
1532 payload = xstrcat(payload, (char *)DEVPRESENT[Config.hum_state]); 1536 payload = xstrcat(payload, (char *)DEVPRESENT[Config.hum_state]);
1533 payload = xstrcat(payload, (char *)"\",\"value\":"); 1537 payload = xstrcat(payload, (char *)"\",\"value\":");
1534 sprintf(buf, "%d", Config.hum_value); 1538 sprintf(buf, "%.1f", Config.hum_value / 1000.0);
1535 payload = xstrcat(payload, buf); 1539 payload = xstrcat(payload, buf);
1536 payload = xstrcat(payload, (char *)"}"); 1540 payload = xstrcat(payload, (char *)"}");
1537 } 1541 }
1538 if (Config.temp_uuid || Config.hum_uuid) 1542 if (Config.temp_uuid || Config.hum_uuid)
1539 payload = xstrcat(payload, (char *)","); 1543 payload = xstrcat(payload, (char *)",");
1651 if (comma) 1655 if (comma)
1652 payload = xstrcat(payload, (char *)","); 1656 payload = xstrcat(payload, (char *)",");
1653 payload = xstrcat(payload, (char *)"\"THB\":{"); 1657 payload = xstrcat(payload, (char *)"\"THB\":{");
1654 if (Config.temp_uuid) { 1658 if (Config.temp_uuid) {
1655 payload = xstrcat(payload, (char *)"\"temperature\":"); 1659 payload = xstrcat(payload, (char *)"\"temperature\":");
1656 sprintf(buf, "%d", Config.temp_value); 1660 sprintf(buf, "%.1f", Config.temp_value / 1000.0);
1657 payload = xstrcat(payload, buf); 1661 payload = xstrcat(payload, buf);
1658 } 1662 }
1659 if (Config.temp_uuid && Config.hum_uuid) 1663 if (Config.temp_uuid && Config.hum_uuid)
1660 payload = xstrcat(payload, (char *)","); 1664 payload = xstrcat(payload, (char *)",");
1661 if (Config.hum_uuid) { 1665 if (Config.hum_uuid) {
1662 payload = xstrcat(payload, (char *)"\"humidity\":"); 1666 payload = xstrcat(payload, (char *)"\"humidity\":");
1663 sprintf(buf, "%d", Config.hum_value); 1667 sprintf(buf, "%.1f", Config.hum_value / 1000.0);
1664 payload = xstrcat(payload, buf); 1668 payload = xstrcat(payload, buf);
1665 } 1669 }
1666 payload = xstrcat(payload, (char *)"}"); 1670 payload = xstrcat(payload, (char *)"}");
1667 } 1671 }
1668 1672

mercurial