dynamic path for mqtt logger

This commit is contained in:
technyon
2022-12-23 23:06:19 +01:00
parent 7ee197e827
commit 3a5f14dc18
5 changed files with 17 additions and 2 deletions

View File

@@ -42,4 +42,5 @@
#define mqtt_topic_reset "/maintenance/reset"
#define mqtt_topic_uptime "/maintenance/uptime"
#define mqtt_topic_wifi_rssi "/maintenance/wifiRssi"
#define mqtt_topic_log "/maintenance/log"
#define mqtt_topic_freeheap "/maintenance/freeHeap"

View File

@@ -4,6 +4,7 @@
#include "../Pins.h"
#include "../PreferencesKeys.h"
#include "../Logger.h"
#include "../MqttTopics.h"
W5500Device::W5500Device(const String &hostname, Preferences* preferences)
: NetworkDevice(hostname),
@@ -40,7 +41,14 @@ void W5500Device::initialize()
_ethClient = new EthernetClient();
_mqttClient = new PubSubClient(*_ethClient);
_mqttClient->setBufferSize(_mqttMaxBufferSize);
Log = new MqttLogger(*_mqttClient, "nuki/log");
_path = new char[200];
memset(_path, 0, sizeof(_path));
String pathStr = _preferences->getString(preference_mqtt_lock_path);
pathStr.concat(mqtt_topic_log);
strcpy(_path, pathStr.c_str());
Log = new MqttLogger(*_mqttClient, _path);
reconnect();
}

View File

@@ -33,6 +33,7 @@ private:
int _maintainResult = 0;
bool _hasDHCPAddress = false;
char* _path;
byte _mac[6];
};

View File

@@ -2,6 +2,7 @@
#include "WifiDevice.h"
#include "../PreferencesKeys.h"
#include "../Logger.h"
#include "../MqttTopics.h"
RTC_NOINIT_ATTR char WiFiDevice_reconfdetect[17];
@@ -40,7 +41,10 @@ WifiDevice::WifiDevice(const String& hostname, Preferences* _preferences)
_mqttClient = new PubSubClient(*_wifiClient);
}
Log = new MqttLogger(*_mqttClient, "nuki/log");
String pathStr = _preferences->getString(preference_mqtt_lock_path);
pathStr.concat(mqtt_topic_log);
strcpy(_path, pathStr.c_str());
Log = new MqttLogger(*_mqttClient, _path);
}
PubSubClient *WifiDevice::mqttClient()

View File

@@ -34,6 +34,7 @@ private:
// SpiffsCookie _cookie;
bool _restartOnDisconnect = false;
bool _startAp = false;
char* _path;
char _ca[TLS_CA_MAX_SIZE];
char _cert[TLS_CERT_MAX_SIZE];