diff --git a/src/httpserver/http_fns.c b/src/httpserver/http_fns.c index 73679062d..5f11e5be0 100644 --- a/src/httpserver/http_fns.c +++ b/src/httpserver/http_fns.c @@ -1319,7 +1319,7 @@ int http_fn_ha_discovery(http_request_t *request) { for(i = 0; i < CHANNEL_MAX; i++) { if(h_isChannelRelay(i)) { HassDeviceInfo *dev_info = hass_init_device_info(ENTITY_RELAY, i, "1", "0"); - MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info)); + MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info), OBK_PUBLISH_FLAG_RETAIN); hass_free_device_info(dev_info); } } @@ -1339,7 +1339,7 @@ int http_fn_ha_discovery(http_request_t *request) { sprintf(tmp,"%s/%i/set",baseName,i); cJSON_AddStringToObject(dev_info->root, "bri_cmd_t", tmp); //brightness_command_topic - MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info)); + MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info), OBK_PUBLISH_FLAG_RETAIN); hass_free_device_info(dev_info); } } diff --git a/src/mqtt/new_mqtt.c b/src/mqtt/new_mqtt.c index 4de085f3e..d6125cf27 100644 --- a/src/mqtt/new_mqtt.c +++ b/src/mqtt/new_mqtt.c @@ -432,7 +432,7 @@ static OBK_Publish_Result MQTT_PublishTopicToClient(mqtt_client_t *client, const char *pub_topic = (char *)os_malloc(strlen(sTopic) + 1 + strlen(sChannel) + 5 + 1); sprintf(pub_topic, "%s/%s%s", sTopic, sChannel, (appendGet == true ? "/get" : "")); - addLogAdv(LOG_INFO,LOG_FEATURE_MQTT,"Publishing to %s",pub_topic); + addLogAdv(LOG_INFO,LOG_FEATURE_MQTT,"Publishing to %s retain=%i",pub_topic, retain); err = mqtt_publish(client, pub_topic, sVal, strlen(sVal), qos, retain, mqtt_pub_request_cb, 0); os_free(pub_topic); diff --git a/src/mqtt/new_mqtt.h b/src/mqtt/new_mqtt.h index 14b6a09b1..c8b6da23d 100644 --- a/src/mqtt/new_mqtt.h +++ b/src/mqtt/new_mqtt.h @@ -72,7 +72,6 @@ OBK_Publish_Result MQTT_ChannelChangeCallback(int channel, int iVal); void MQTT_PublishOnlyDeviceChannelsIfPossible(); void MQTT_QueuePublish(char *topic, char *channel, char *value, int flags); OBK_Publish_Result MQTT_Publish(char *sTopic, char *sChannel, char *value, int flags); -OBK_Publish_Result MQTT_Publish(char *sTopic, char *sChannel, char *value); #endif // __NEW_MQTT_H__