diff --git a/libnymea-mqtt/mqtt.h b/libnymea-mqtt/mqtt.h index 898e0a7..af1767b 100644 --- a/libnymea-mqtt/mqtt.h +++ b/libnymea-mqtt/mqtt.h @@ -34,6 +34,7 @@ namespace Mqtt { enum Protocol { ProtocolUnknown = 0x00, + Protocol310 = 0x03, Protocol311 = 0x04 }; diff --git a/libnymea-mqtt/mqttserver.cpp b/libnymea-mqtt/mqttserver.cpp index 854d96b..7c98728 100644 --- a/libnymea-mqtt/mqttserver.cpp +++ b/libnymea-mqtt/mqttserver.cpp @@ -280,8 +280,8 @@ void MqttServerPrivate::processPacket(const MqttPacket &packet, QTcpSocket *clie MqttPacket response(MqttPacket::TypeConnack, packet.packetId()); - if (packet.protocolLevel() != Mqtt::Protocol311) { - qCWarning(dbgServer) << "This MQTT broker only supports Protocol version 3.1.1"; + if (packet.protocolLevel() != Mqtt::Protocol310 && packet.protocolLevel() != Mqtt::Protocol311) { + qCWarning(dbgServer) << "This MQTT broker only supports Protocol version 3.1.0 and 3.1.1 but client is" << packet.protocolLevel(); response.setConnectReturnCode(Mqtt::ConnectReturnCodeUnacceptableProtocolVersion); client->write(response.serialize()); cleanupClient(client);