445 } |
445 } |
446 free(payload); |
446 free(payload); |
447 payload = NULL; |
447 payload = NULL; |
448 } |
448 } |
449 |
449 |
450 #endif |
|
451 |
450 |
452 |
451 |
453 void publishDData(units_list *unit) |
452 void publishDData(units_list *unit) |
454 { |
453 { |
455 #ifdef HAVE_MOSQUITTO_H |
|
456 |
|
457 char *payload = NULL, *topic = NULL; |
454 char *payload = NULL, *topic = NULL; |
458 |
455 |
459 if (mqtt_use) { |
456 if (mqtt_use) { |
460 payload = payload_header(); |
457 payload = payload_header(); |
461 payload = xstrcat(payload, unit_data(unit, false)); |
458 payload = xstrcat(payload, unit_data(unit, false)); |
466 free(payload); |
463 free(payload); |
467 payload = NULL; |
464 payload = NULL; |
468 free(topic); |
465 free(topic); |
469 topic = NULL; |
466 topic = NULL; |
470 } |
467 } |
471 #endif |
|
472 } |
468 } |
473 |
469 |
474 |
470 |
475 |
471 |
476 void publishDBirth(units_list *unit) |
472 void publishDBirth(units_list *unit) |
477 { |
473 { |
478 #ifdef HAVE_MOSQUITTO_H |
|
479 |
|
480 char *payload = NULL, *topic = NULL; |
474 char *payload = NULL, *topic = NULL; |
481 |
475 |
482 if (mqtt_use) { |
476 if (mqtt_use) { |
483 payload = payload_header(); |
477 payload = payload_header(); |
484 payload = xstrcat(payload, unit_data(unit, true)); |
478 payload = xstrcat(payload, unit_data(unit, true)); |
513 topic = xstrcat(topic, unit->alias); |
504 topic = xstrcat(topic, unit->alias); |
514 publisher(mosq, topic, NULL, true); |
505 publisher(mosq, topic, NULL, true); |
515 free(topic); |
506 free(topic); |
516 topic = NULL; |
507 topic = NULL; |
517 } |
508 } |
518 #endif |
|
519 } |
509 } |
520 |
510 |
521 |
511 |
522 |
512 |
523 void publishNData(bool birth, int flag) |
513 void publishNData(bool birth, int flag) |
524 { |
514 { |
525 #ifdef HAVE_MOSQUITTO_H |
|
526 char *payload = NULL, sidx[10], buf[64]; |
515 char *payload = NULL, sidx[10], buf[64]; |
527 struct utsname ubuf; |
516 struct utsname ubuf; |
528 bool comma = false; |
517 bool comma = false; |
529 |
518 |
530 payload = payload_header(); |
519 payload = payload_header(); |
600 payload = xstrcat(payload, (char *)"\"}"); |
589 payload = xstrcat(payload, (char *)"\"}"); |
601 publisher(mosq, (char *)"domoticz/in", payload, false); |
590 publisher(mosq, (char *)"domoticz/in", payload, false); |
602 free(payload); |
591 free(payload); |
603 payload = NULL; |
592 payload = NULL; |
604 } |
593 } |
605 #endif |
|
606 } |
594 } |
607 |
595 |
608 |
596 |
609 |
597 |
610 void mqtt_connect(void) |
598 void mqtt_connect(void) |
611 { |
599 { |
612 #ifdef HAVE_MOSQUITTO_H |
|
613 char *id = NULL; |
600 char *id = NULL; |
614 char err[1024]; |
601 char err[1024]; |
615 int rc; |
602 int rc; |
616 |
603 |
617 /* |
604 /* |