mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-15 12:19:58 +03:00
merge #2108
This commit is contained in:
27
src/ESP32React/MqttStatus.cpp
Normal file
27
src/ESP32React/MqttStatus.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#include "MqttStatus.h"
|
||||
|
||||
#include <emsesp_stub.hpp>
|
||||
|
||||
MqttStatus::MqttStatus(AsyncWebServer * server, MqttSettingsService * mqttSettingsService, SecurityManager * securityManager)
|
||||
: _mqttSettingsService(mqttSettingsService) {
|
||||
securityManager->addEndpoint(server, MQTT_STATUS_SERVICE_PATH, AuthenticationPredicates::IS_AUTHENTICATED, [this](AsyncWebServerRequest * request) {
|
||||
mqttStatus(request);
|
||||
});
|
||||
}
|
||||
|
||||
void MqttStatus::mqttStatus(AsyncWebServerRequest * request) {
|
||||
auto * response = new AsyncJsonResponse(false);
|
||||
JsonObject root = response->getRoot();
|
||||
|
||||
root["enabled"] = _mqttSettingsService->isEnabled();
|
||||
root["connected"] = _mqttSettingsService->isConnected();
|
||||
root["client_id"] = _mqttSettingsService->getClientId();
|
||||
root["disconnect_reason"] = (uint8_t)_mqttSettingsService->getDisconnectReason();
|
||||
|
||||
root["mqtt_queued"] = emsesp::Mqtt::publish_queued();
|
||||
root["mqtt_fails"] = emsesp::Mqtt::publish_fails();
|
||||
root["connect_count"] = emsesp::Mqtt::connect_count();
|
||||
|
||||
response->setLength();
|
||||
request->send(response);
|
||||
}
|
||||
Reference in New Issue
Block a user