add lwt topic

This commit is contained in:
technyon
2023-03-27 18:46:07 +02:00
parent 44ad2dd320
commit ddf70f5d8a
10 changed files with 51 additions and 5 deletions

View File

@@ -255,6 +255,18 @@ bool EthLan8720Device::mqttDisonnect(bool force)
}
}
void EthLan8720Device::setWill(const char *topic, uint8_t qos, bool retain, const char *payload)
{
if(_useEncryption)
{
_mqttClientSecure->setWill(topic, qos, retain, payload);
}
else
{
_mqttClient->setWill(topic, qos, retain, payload);
}
}
void EthLan8720Device::mqttSetCredentials(const char *username, const char *password)
{
if(_useEncryption)
@@ -329,3 +341,4 @@ void EthLan8720Device::disableMqtt()
_mqttEnabled = false;
}

View File

@@ -53,6 +53,8 @@ public:
bool mqttDisonnect(bool force) override;
void setWill(const char *topic, uint8_t qos, bool retain, const char *payload) override;
void mqttSetCredentials(const char *username, const char *password) override;
void mqttOnMessage(espMqttClientTypes::OnMessageCallback callback) override;

View File

@@ -40,6 +40,7 @@ public:
virtual void mqttSetServer(const char* host, uint16_t port) = 0;
virtual bool mqttConnect() = 0;
virtual bool mqttDisonnect(bool force) = 0;
virtual void setWill(const char* topic, uint8_t qos, bool retain, const char* payload) = 0;
virtual void mqttSetCredentials(const char* username, const char* password) = 0;
virtual void mqttOnMessage(espMqttClientTypes::OnMessageCallback callback) = 0;
virtual void mqttOnConnect(espMqttClientTypes::OnConnectCallback callback) = 0;

View File

@@ -265,6 +265,11 @@ bool W5500Device::mqttDisonnect(bool force)
return _mqttClient.disconnect(force);
}
void W5500Device::setWill(const char *topic, uint8_t qos, bool retain, const char *payload)
{
_mqttClient.setWill(topic, qos, retain, payload);
}
void W5500Device::mqttSetCredentials(const char *username, const char *password)
{
_mqttClient.setCredentials(username, password);

View File

@@ -49,6 +49,8 @@ public:
bool mqttDisonnect(bool force) override;
void setWill(const char *topic, uint8_t qos, bool retain, const char *payload) override;
void mqttSetCredentials(const char *username, const char *password) override;
void mqttOnMessage(espMqttClientTypes::OnMessageCallback callback) override;

View File

@@ -273,6 +273,18 @@ bool WifiDevice::mqttDisonnect(bool force)
}
}
void WifiDevice::setWill(const char *topic, uint8_t qos, bool retain, const char *payload)
{
if(_useEncryption)
{
_mqttClientSecure->setWill(topic, qos, retain, payload);
}
else
{
_mqttClient->setWill(topic, qos, retain, payload);
}
}
void WifiDevice::mqttSetCredentials(const char *username, const char *password)
{
if(_useEncryption)

View File

@@ -43,6 +43,8 @@ public:
bool mqttDisonnect(bool force) override;
void setWill(const char *topic, uint8_t qos, bool retain, const char *payload) override;
void mqttSetCredentials(const char *username, const char *password) override;
void mqttOnMessage(espMqttClientTypes::OnMessageCallback callback) override;