@@ -2206,7 +2206,7 @@ void init_vars(void) {
2206
2206
MqttClimateCmnd = MqttClimate + ' /' + MQTT_CLIMATE_CMND + ' /' ;
2207
2207
// Sub-topic for the climate stat topics.
2208
2208
#if MQTT_DISCOVERY_ENABLE
2209
- MqttDiscovery = " homeassistant/climate/" + String (Hostname) + " /config " ;
2209
+ MqttDiscovery = " homeassistant/climate/" + String (Hostname);
2210
2210
MqttUniqueId = WiFi.macAddress ();
2211
2211
MqttUniqueId.replace (" :" , " " );
2212
2212
#endif // MQTT_DISCOVERY_ENABLE
@@ -2525,7 +2525,11 @@ void handleSendMqttDiscovery(void) {
2525
2525
" is sent.</p>" ) +
2526
2526
addJsReloadUrl (kUrlRoot , kRebootTime , true ) +
2527
2527
htmlEnd ());
2528
- sendMQTTDiscovery (MqttDiscovery.c_str ());
2528
+ for (uint16_t i = 0 ; i < kNrOfIrTxGpios ; i++) {
2529
+ String channel_id = " " ;
2530
+ if (i > 0 ) channel_id = " _" + String (i);
2531
+ sendMQTTDiscovery (MqttDiscovery.c_str (), channel_id);
2532
+ }
2529
2533
}
2530
2534
#endif // MQTT_DISCOVERY_ENABLE
2531
2535
@@ -2698,12 +2702,13 @@ void mqttCallback(char* topic, byte* payload, unsigned int length) {
2698
2702
}
2699
2703
2700
2704
#if MQTT_DISCOVERY_ENABLE
2701
- void sendMQTTDiscovery (const char *topic) {
2705
+ void sendMQTTDiscovery (const char *topic, String channel_id) {
2706
+ String pub_topic = String (topic) + channel_id + F (" /config" );
2702
2707
if (mqtt_client.publish (
2703
- topic , String (
2704
- String ( F (" {"
2705
- " \" ~\" :\" " )) + MqttClimate + F (" \" ,"
2706
- " \" name\" :\" " ) + MqttHAName + F (" \" ,"
2708
+ pub_topic. c_str () , String (
2709
+ F (" {"
2710
+ " \" ~\" :\" " ) + MqttClimate + channel_id + F (" \" ,"
2711
+ " \" name\" :\" " ) + MqttHAName + channel_id + F (" \" ,"
2707
2712
#if (!MQTT_CLIMATE_HA_MODE)
2708
2713
// Typically we don't need or use the power command topic if we are using
2709
2714
// our Home Assistant Climate compatiblity mode. It causes odd behaviour
@@ -2729,9 +2734,9 @@ void sendMQTTDiscovery(const char *topic) {
2729
2734
" \" swing_modes\" :[\" " D_STR_OFF " \" ,\" " D_STR_AUTO " \" ,\" " D_STR_HIGHEST
2730
2735
" \" ,\" " D_STR_HIGH " \" ,\" " D_STR_MIDDLE " \" ,\" "
2731
2736
D_STR_LOW " \" ,\" " D_STR_LOWEST " \" ],"
2732
- " \" uniq_id\" :\" " ) + MqttUniqueId + F (" \" ,"
2737
+ " \" uniq_id\" :\" " ) + MqttUniqueId + channel_id + F (" \" ,"
2733
2738
" \" device\" :{"
2734
- " \" identifiers\" :[\" " ) + MqttUniqueId + F (" \" ],"
2739
+ " \" identifiers\" :[\" " ) + MqttUniqueId + channel_id + F (" \" ],"
2735
2740
" \" connections\" :[[\" mac\" ,\" " ) + WiFi.macAddress () + F (" \" ]],"
2736
2741
" \" manufacturer\" :\" IRremoteESP8266\" ,"
2737
2742
" \" model\" :\" IRMQTTServer\" ,"
0 commit comments