Use proper client id for MQTT and add discovery create method and evcharger interface
parent
c9bcbf2717
commit
ac8bbae26d
|
|
@ -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."));
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
Loading…
Reference in New Issue