diff --git a/goecharger/integrationplugingoecharger.cpp b/goecharger/integrationplugingoecharger.cpp index bcd41d04..0a6c5dde 100644 --- a/goecharger/integrationplugingoecharger.cpp +++ b/goecharger/integrationplugingoecharger.cpp @@ -242,10 +242,12 @@ QNetworkRequest IntegrationPluginGoECharger::buildConfigurationRequest(const QHo void IntegrationPluginGoECharger::setupMqttChannel(ThingSetupInfo *info, const QHostAddress &address, const QVariantMap &statusMap) { Thing *thing = info->thing(); - QString statusTopic = QString("go-eCharger/%1/status").arg(statusMap.value("sse").toString()); + QString serialNumber = statusMap.value("sse").toString(); + QString clientId = QString("go-eCharger:%1:%2").arg(serialNumber).arg(statusMap.value("rbc").toInt()); + QString statusTopic = QString("go-eCharger/%1/status").arg(serialNumber); qCDebug(dcGoECharger()) << "Setting up mqtt channel for" << thing << address.toString() << statusTopic; - MqttChannel *channel = hardwareManager()->mqttProvider()->createChannel(thing->id().toString(), address, {statusTopic}); + MqttChannel *channel = hardwareManager()->mqttProvider()->createChannel(clientId, address, {statusTopic}); if (!channel) { qCWarning(dcGoECharger()) << "Failed to create MQTT channel for" << thing; info->finish(Thing::ThingErrorHardwareFailure, QT_TR_NOOP("Error creating MQTT channel. Please check MQTT server settings.")); diff --git a/goecharger/integrationplugingoecharger.json b/goecharger/integrationplugingoecharger.json index 000bda8f..a0f5eee1 100644 --- a/goecharger/integrationplugingoecharger.json +++ b/goecharger/integrationplugingoecharger.json @@ -12,8 +12,8 @@ "name": "goeHome", "displayName": "go-eCharger Home", "id": "3b663d51-fdb5-4944-b409-c07f7933877e", - "createMethods": ["User"], - "interfaces": ["connectable"], + "createMethods": ["Discovery", "User"], + "interfaces": ["evcharger", "connectable"], "paramTypes": [ { "id": "4342b72c-99d0-41a5-abc6-ea6c1cc1352c",