From d83e034b4f292eb4f5e4798c64cb21edce5bf59d Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Fri, 2 Feb 2024 23:57:04 +0100 Subject: [PATCH 01/18] log MQTT messages to logfile instead just to UART --- .../components/jomjol_mqtt/interface_mqtt.cpp | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index cb7a0ce4..9d491b6c 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -63,7 +63,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif int msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - ESP_LOGD(TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); @@ -72,7 +72,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - ESP_LOGD(TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); @@ -122,29 +122,29 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { break; case MQTT_EVENT_SUBSCRIBED: - ESP_LOGD(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_UNSUBSCRIBED: - ESP_LOGD(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_PUBLISHED: - ESP_LOGD(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_DATA: - ESP_LOGD(TAG, "MQTT_EVENT_DATA"); - ESP_LOGD(TAG, "TOPIC=%.*s", event->topic_len, event->topic); - ESP_LOGD(TAG, "DATA=%.*s", event->data_len, event->data); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_DATA"); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "DATA=%.*s", event->data_len, event->data); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { - ESP_LOGD(TAG, "call subcribe function for topic %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "call subcribe function for topic %s", topic.c_str()); (*subscribeFunktionMap)[topic](topic, event->data, event->data_len); } } else { - ESP_LOGW(TAG, "no handler available\r\n"); + LogFile.WriteToFile(ESP_LOG_WRN, TAG, "no handler available\r\n"); } break; @@ -175,23 +175,23 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { } else { LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); - ESP_LOGE(TAG, "Other event id:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); } #ifdef DEBUG_DETAIL_ON - ESP_LOGD(TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); - ESP_LOGD(TAG, "error_type:%d", event->error_handle->error_type); - ESP_LOGD(TAG, "connect_return_code:%d", event->error_handle->connect_return_code); - ESP_LOGD(TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); - ESP_LOGD(TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); - ESP_LOGD(TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); - ESP_LOGD(TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "error_type:%d", event->error_handle->error_type); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); #endif break; default: - ESP_LOGD(TAG, "Other event id:%d", event->event_id); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Other event id:%d", event->event_id); break; } return ESP_OK; @@ -199,7 +199,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - ESP_LOGD(TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } @@ -386,7 +386,7 @@ bool getMQTTisConnected() { bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) { - ESP_LOGD(TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); if (_data_len > 0) { MQTTCtrlFlowStart(_topic); @@ -401,7 +401,7 @@ bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) { - //ESP_LOGD(TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + //ogFile.WriteToFile(ESP_LOG_DBG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); //example: {"numbersname": "main", "value": 12345.1234567} if (_data_len > 0) { // Check if data length > 0 @@ -442,7 +442,7 @@ void MQTTconnected(){ if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - ESP_LOGD(TAG, "call connect function %s", it->first.c_str()); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "call connect function %s", it->first.c_str()); } } @@ -471,13 +471,13 @@ void MQTTconnected(){ void MQTTregisterConnectFunction(std::string name, std::function func){ - ESP_LOGD(TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); if (connectFunktionMap == NULL) { connectFunktionMap = new std::map>(); } if ((*connectFunktionMap)[name] != NULL) { - ESP_LOGW(TAG, "connect function %s already registred", name.c_str()); + LogFile.WriteToFile(ESP_LOG_WRN, TAG, "connect function %s already registred", name.c_str()); return; } @@ -490,7 +490,7 @@ void MQTTregisterConnectFunction(std::string name, std::function func){ void MQTTunregisterConnectFunction(std::string name){ - ESP_LOGD(TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); if ((connectFunktionMap != NULL) && (connectFunktionMap->find(name) != connectFunktionMap->end())) { connectFunktionMap->erase(name); } @@ -498,13 +498,13 @@ void MQTTunregisterConnectFunction(std::string name){ void MQTTregisterSubscribeFunction(std::string topic, std::function func){ - ESP_LOGD(TAG, "registerSubscribeFunction %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "registerSubscribeFunction %s", topic.c_str()); if (subscribeFunktionMap == NULL) { subscribeFunktionMap = new std::map>(); } if ((*subscribeFunktionMap)[topic] != NULL) { - ESP_LOGW(TAG, "topic %s already registered for subscription", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_WRN, TAG, "topic %s already registered for subscription", topic.c_str()); return; } @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - ESP_LOGD(TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); + LogFile.WriteToFile(ESP_LOG_DBG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); } } From d2ebca0902732e290a6b3b7627c0b3b04460aa46 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:01:06 +0100 Subject: [PATCH 02/18] Update interface_mqtt.cpp --- .../components/jomjol_mqtt/interface_mqtt.cpp | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 9d491b6c..e9cde48f 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -63,7 +63,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif int msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); @@ -72,7 +72,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); @@ -122,29 +122,29 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { break; case MQTT_EVENT_SUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_UNSUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_PUBLISHED: - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_DATA: - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "DATA=%.*s", event->data_len, event->data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "call subcribe function for topic %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); (*subscribeFunktionMap)[topic](topic, event->data, event->data_len); } } else { - LogFile.WriteToFile(ESP_LOG_WRN, TAG, "no handler available\r\n"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); } break; @@ -179,19 +179,19 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { } #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "error_type:%d", event->error_handle->error_type); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); #endif break; default: - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Other event id:%d", event->event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); break; } return ESP_OK; @@ -199,7 +199,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } @@ -386,7 +386,7 @@ bool getMQTTisConnected() { bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) { - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); if (_data_len > 0) { MQTTCtrlFlowStart(_topic); @@ -401,7 +401,7 @@ bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) { - //ogFile.WriteToFile(ESP_LOG_DBG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + //ogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); //example: {"numbersname": "main", "value": 12345.1234567} if (_data_len > 0) { // Check if data length > 0 @@ -442,7 +442,7 @@ void MQTTconnected(){ if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "call connect function %s", it->first.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); } } @@ -471,13 +471,13 @@ void MQTTconnected(){ void MQTTregisterConnectFunction(std::string name, std::function func){ - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); if (connectFunktionMap == NULL) { connectFunktionMap = new std::map>(); } if ((*connectFunktionMap)[name] != NULL) { - LogFile.WriteToFile(ESP_LOG_WRN, TAG, "connect function %s already registred", name.c_str()); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); return; } @@ -490,7 +490,7 @@ void MQTTregisterConnectFunction(std::string name, std::function func){ void MQTTunregisterConnectFunction(std::string name){ - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); if ((connectFunktionMap != NULL) && (connectFunktionMap->find(name) != connectFunktionMap->end())) { connectFunktionMap->erase(name); } @@ -498,13 +498,13 @@ void MQTTunregisterConnectFunction(std::string name){ void MQTTregisterSubscribeFunction(std::string topic, std::function func){ - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "registerSubscribeFunction %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); if (subscribeFunktionMap == NULL) { subscribeFunktionMap = new std::map>(); } if ((*subscribeFunktionMap)[topic] != NULL) { - LogFile.WriteToFile(ESP_LOG_WRN, TAG, "topic %s already registered for subscription", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); return; } @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - LogFile.WriteToFile(ESP_LOG_DBG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); } } From 4b3c0e0f4d86313cfd0a262ec95ced8f0e17a301 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:02:46 +0100 Subject: [PATCH 03/18] Update interface_mqtt.cpp --- .../components/jomjol_mqtt/interface_mqtt.cpp | 128 +++++++++--------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index e9cde48f..28960ea7 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -52,7 +52,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ } #ifdef DEBUG_DETAIL_ON - LogFile.WriteHeapInfo("MQTT Publish"); + Logfile.WriteHeapInfo("MQTT Publish"); #endif MQTT_Init(); // Re-Init client if not initialized yet/anymore @@ -63,19 +63,19 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif int msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); #ifdef DEBUG_DETAIL_ON starttime = esp_timer_get_time(); #endif msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); failedOnRound = getCountFlowRounds(); return false; } @@ -86,11 +86,11 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ _content.append(".."); } - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Published topic: " + _key + ", content: " + _content + " (msg_id=" + std::to_string(msg_id) + ")"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Published topic: " + _key + ", content: " + _content + " (msg_id=" + std::to_string(msg_id) + ")"); return true; } else { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish skipped. Client not initalized or not connected. (topic: " + _key + ")"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish skipped. Client not initalized or not connected. (topic: " + _key + ")"); return false; } } @@ -113,38 +113,38 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DISCONNECTED: mqtt_connected = false; MQTTReconnectCnt++; - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Disconnected, trying to reconnect"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Disconnected, trying to reconnect"); if (MQTTReconnectCnt >= 5) { MQTTReconnectCnt = 0; - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Disconnected, multiple reconnect attempts failed, still retrying..."); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Disconnected, multiple reconnect attempts failed, still retrying..."); } break; case MQTT_EVENT_SUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_UNSUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_PUBLISHED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_DATA: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); (*subscribeFunktionMap)[topic](topic, event->data, event->data_len); } } else { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); } break; @@ -154,44 +154,44 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { // The server does not support the level of the MQTT protocol requested by the client // NOTE: Only protocol 3.1.1 is supported (refer to setting in sdkconfig) if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_PROTOCOL) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, unacceptable protocol version (0x01)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, unacceptable protocol version (0x01)"); } // The client identifier is correct UTF-8 but not allowed by the server // e.g. clientID empty (cannot be the case -> default set in firmware) else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_ID_REJECTED) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, identifier rejected (0x02)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, identifier rejected (0x02)"); } // The network connection has been made but the MQTT service is unavailable else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_SERVER_UNAVAILABLE) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, Server unavailable (0x03)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, Server unavailable (0x03)"); } // The data in the user name or password is malformed else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_BAD_USERNAME) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, malformed data in username or password (0x04)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, malformed data in username or password (0x04)"); } // The client is not authorized to connect else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_NOT_AUTHORIZED) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, not authorized. Check username/password (0x05)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, not authorized. Check username/password (0x05)"); } else { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); - LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); + Logfile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); } #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); #endif break; default: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); break; } return ESP_OK; @@ -199,7 +199,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } @@ -210,7 +210,7 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us int _keepalive, bool _SetRetainFlag, void *_callbackOnConnected) { if ((_mqttURI.length() == 0) || (_maintopic.length() == 0) || (_clientid.length() == 0)) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Init aborted! Config error (URI, MainTopic or ClientID missing)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init aborted! Config error (URI, MainTopic or ClientID missing)"); return false; } @@ -228,19 +228,19 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us std::ifstream cert_ifs(_clientcertfilename); std::string cert_content((std::istreambuf_iterator(cert_ifs)), (std::istreambuf_iterator())); clientCert = cert_content; - LogFile.WriteToFile(ESP_LOG_INFO, TAG, "using clientCert: " + _clientcertfilename); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientCert: " + _clientcertfilename); std::ifstream key_ifs(_clientkeyfilename); std::string key_content((std::istreambuf_iterator(key_ifs)), (std::istreambuf_iterator())); clientKey = key_content; - LogFile.WriteToFile(ESP_LOG_INFO, TAG, "using clientKey: " + _clientkeyfilename); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientKey: " + _clientkeyfilename); } if (_cacertfilename.length() ){ std::ifstream ifs(_cacertfilename); std::string content((std::istreambuf_iterator(ifs)), (std::istreambuf_iterator())); caCert = content; - LogFile.WriteToFile(ESP_LOG_INFO, TAG, "using caCert: " + _cacertfilename); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using caCert: " + _cacertfilename); } if (_user.length() && _password.length()){ @@ -249,10 +249,10 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us } #ifdef __HIDE_PASSWORD - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: XXXXXXXX, maintopic: " + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: XXXXXXXX, maintopic: " + maintopic + ", last-will-topic: " + lwt_topic + ", keepAlive: " + std::to_string(keepalive) + ", RetainFlag: " + std::to_string(SetRetainFlag)); #else - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: " + password + ", maintopic: " + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: " + password + ", maintopic: " + maintopic + ", last-will-topic: " + lwt_topic + ", keepAlive: " + std::to_string(keepalive) + ", RetainFlag: " + std::to_string(SetRetainFlag)); #endif @@ -269,16 +269,16 @@ int MQTT_Init() { if (mqtt_configOK) { mqtt_enabled = true; } else { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but client is not yet configured."); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but client is not yet configured."); return 0; } if (!getWIFIisConnected()) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but WIFI is not yet connected."); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but WIFI is not yet connected."); return 0; } - LogFile.WriteToFile(ESP_LOG_INFO, TAG, "Init"); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Init"); MQTTdestroy_client(false); esp_mqtt_client_config_t mqtt_cfg = { }; @@ -316,7 +316,7 @@ int MQTT_Init() { } #ifdef DEBUG_DETAIL_ON - LogFile.WriteHeapInfo("MQTT Client Init"); + Logfile.WriteHeapInfo("MQTT Client Init"); #endif client = esp_mqtt_client_init(&mqtt_cfg); @@ -325,30 +325,30 @@ int MQTT_Init() { esp_err_t ret = esp_mqtt_client_register_event(client, esp_mqtt_ID, mqtt_event_handler, client); if (ret != ESP_OK) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Could not register event (ret=" + std::to_string(ret) + ")!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Could not register event (ret=" + std::to_string(ret) + ")!"); mqtt_initialized = false; return -1; } #ifdef DEBUG_DETAIL_ON - LogFile.WriteHeapInfo("MQTT Client Start"); + Logfile.WriteHeapInfo("MQTT Client Start"); #endif ret = esp_mqtt_client_start(client); if (ret != ESP_OK) { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Client start failed (retval=" + std::to_string(ret) + ")!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Client start failed (retval=" + std::to_string(ret) + ")!"); mqtt_initialized = false; return -1; } else { - LogFile.WriteToFile(ESP_LOG_INFO, TAG, "Client started, waiting for established connection..."); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Client started, waiting for established connection..."); mqtt_initialized = true; return 1; } } else { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Init failed, no handle created!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init failed, no handle created!"); mqtt_initialized = false; return -1; } @@ -386,13 +386,13 @@ bool getMQTTisConnected() { bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); if (_data_len > 0) { MQTTCtrlFlowStart(_topic); } else { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_flow_start: handler called, but no data"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_flow_start: handler called, but no data"); } return ESP_OK; @@ -401,7 +401,7 @@ bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) { - //ogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + //LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); //example: {"numbersname": "main", "value": 12345.1234567} if (_data_len > 0) { // Check if data length > 0 @@ -411,7 +411,7 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) if (cJSON_IsString(numbersname) && (numbersname->valuestring != NULL)) { // Check if numbersname is valid if (cJSON_IsNumber(value)) { // Check if value is a number - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_set_prevalue called: numbersname: " + std::string(numbersname->valuestring) + + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_set_prevalue called: numbersname: " + std::string(numbersname->valuestring) + ", value: " + std::to_string(value->valuedouble)); if (flowctrl.UpdatePrevalue(std::to_string(value->valuedouble), std::string(numbersname->valuestring), true)) { cJSON_Delete(jsonData); @@ -419,16 +419,16 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) } } else { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: value not a valid number (\"value\": 12345.12345)"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: value not a valid number (\"value\": 12345.12345)"); } } else { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: numbersname not a valid string (\"numbersname\": \"main\")"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: numbersname not a valid string (\"numbersname\": \"main\")"); } cJSON_Delete(jsonData); } else { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: handler called, but no data received"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: handler called, but no data received"); } return ESP_FAIL; @@ -437,12 +437,12 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) void MQTTconnected(){ if (mqtt_connected) { - LogFile.WriteToFile(ESP_LOG_INFO, TAG, "Connected to broker"); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Connected to broker"); if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); } } @@ -458,7 +458,7 @@ void MQTTconnected(){ if (subscribeFunktionMap != NULL) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_subscribe(client, it->first.c_str(), 0); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic " + it->first + " subscribe successful, msg_id=" + std::to_string(msg_id)); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic " + it->first + " subscribe successful, msg_id=" + std::to_string(msg_id)); } } @@ -471,13 +471,13 @@ void MQTTconnected(){ void MQTTregisterConnectFunction(std::string name, std::function func){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); if (connectFunktionMap == NULL) { connectFunktionMap = new std::map>(); } if ((*connectFunktionMap)[name] != NULL) { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); return; } @@ -490,7 +490,7 @@ void MQTTregisterConnectFunction(std::string name, std::function func){ void MQTTunregisterConnectFunction(std::string name){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); if ((connectFunktionMap != NULL) && (connectFunktionMap->find(name) != connectFunktionMap->end())) { connectFunktionMap->erase(name); } @@ -498,13 +498,13 @@ void MQTTunregisterConnectFunction(std::string name){ void MQTTregisterSubscribeFunction(std::string topic, std::function func){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); if (subscribeFunktionMap == NULL) { subscribeFunktionMap = new std::map>(); } if ((*subscribeFunktionMap)[topic] != NULL) { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); return; } @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); } } From 9084c35e92444661f5641337eb0b211b3149c245 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:03:33 +0100 Subject: [PATCH 04/18] Update interface_mqtt.cpp --- .../components/jomjol_mqtt/interface_mqtt.cpp | 126 +++++++++--------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 28960ea7..196bbb52 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -52,7 +52,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ } #ifdef DEBUG_DETAIL_ON - Logfile.WriteHeapInfo("MQTT Publish"); + Logfile.WriteHeapInfo("MQTT Publish"); #endif MQTT_Init(); // Re-Init client if not initialized yet/anymore @@ -63,19 +63,19 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif int msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); #ifdef DEBUG_DETAIL_ON starttime = esp_timer_get_time(); #endif msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); failedOnRound = getCountFlowRounds(); return false; } @@ -86,11 +86,11 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ _content.append(".."); } - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Published topic: " + _key + ", content: " + _content + " (msg_id=" + std::to_string(msg_id) + ")"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Published topic: " + _key + ", content: " + _content + " (msg_id=" + std::to_string(msg_id) + ")"); return true; } else { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish skipped. Client not initalized or not connected. (topic: " + _key + ")"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish skipped. Client not initalized or not connected. (topic: " + _key + ")"); return false; } } @@ -113,38 +113,38 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DISCONNECTED: mqtt_connected = false; MQTTReconnectCnt++; - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Disconnected, trying to reconnect"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Disconnected, trying to reconnect"); if (MQTTReconnectCnt >= 5) { MQTTReconnectCnt = 0; - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Disconnected, multiple reconnect attempts failed, still retrying..."); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Disconnected, multiple reconnect attempts failed, still retrying..."); } break; case MQTT_EVENT_SUBSCRIBED: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_UNSUBSCRIBED: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_PUBLISHED: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_DATA: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); (*subscribeFunktionMap)[topic](topic, event->data, event->data_len); } } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); } break; @@ -154,44 +154,44 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { // The server does not support the level of the MQTT protocol requested by the client // NOTE: Only protocol 3.1.1 is supported (refer to setting in sdkconfig) if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_PROTOCOL) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, unacceptable protocol version (0x01)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, unacceptable protocol version (0x01)"); } // The client identifier is correct UTF-8 but not allowed by the server // e.g. clientID empty (cannot be the case -> default set in firmware) else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_ID_REJECTED) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, identifier rejected (0x02)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, identifier rejected (0x02)"); } // The network connection has been made but the MQTT service is unavailable else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_SERVER_UNAVAILABLE) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, Server unavailable (0x03)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, Server unavailable (0x03)"); } // The data in the user name or password is malformed else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_BAD_USERNAME) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, malformed data in username or password (0x04)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, malformed data in username or password (0x04)"); } // The client is not authorized to connect else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_NOT_AUTHORIZED) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, not authorized. Check username/password (0x05)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, not authorized. Check username/password (0x05)"); } else { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); - Logfile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); + Logfile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); } #ifdef DEBUG_DETAIL_ON - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); #endif break; default: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); break; } return ESP_OK; @@ -199,7 +199,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } @@ -210,7 +210,7 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us int _keepalive, bool _SetRetainFlag, void *_callbackOnConnected) { if ((_mqttURI.length() == 0) || (_maintopic.length() == 0) || (_clientid.length() == 0)) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init aborted! Config error (URI, MainTopic or ClientID missing)"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init aborted! Config error (URI, MainTopic or ClientID missing)"); return false; } @@ -228,19 +228,19 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us std::ifstream cert_ifs(_clientcertfilename); std::string cert_content((std::istreambuf_iterator(cert_ifs)), (std::istreambuf_iterator())); clientCert = cert_content; - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientCert: " + _clientcertfilename); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientCert: " + _clientcertfilename); std::ifstream key_ifs(_clientkeyfilename); std::string key_content((std::istreambuf_iterator(key_ifs)), (std::istreambuf_iterator())); clientKey = key_content; - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientKey: " + _clientkeyfilename); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientKey: " + _clientkeyfilename); } if (_cacertfilename.length() ){ std::ifstream ifs(_cacertfilename); std::string content((std::istreambuf_iterator(ifs)), (std::istreambuf_iterator())); caCert = content; - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using caCert: " + _cacertfilename); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using caCert: " + _cacertfilename); } if (_user.length() && _password.length()){ @@ -249,10 +249,10 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us } #ifdef __HIDE_PASSWORD - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: XXXXXXXX, maintopic: " + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: XXXXXXXX, maintopic: " + maintopic + ", last-will-topic: " + lwt_topic + ", keepAlive: " + std::to_string(keepalive) + ", RetainFlag: " + std::to_string(SetRetainFlag)); #else - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: " + password + ", maintopic: " + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: " + password + ", maintopic: " + maintopic + ", last-will-topic: " + lwt_topic + ", keepAlive: " + std::to_string(keepalive) + ", RetainFlag: " + std::to_string(SetRetainFlag)); #endif @@ -269,16 +269,16 @@ int MQTT_Init() { if (mqtt_configOK) { mqtt_enabled = true; } else { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but client is not yet configured."); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but client is not yet configured."); return 0; } if (!getWIFIisConnected()) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but WIFI is not yet connected."); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but WIFI is not yet connected."); return 0; } - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Init"); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Init"); MQTTdestroy_client(false); esp_mqtt_client_config_t mqtt_cfg = { }; @@ -316,7 +316,7 @@ int MQTT_Init() { } #ifdef DEBUG_DETAIL_ON - Logfile.WriteHeapInfo("MQTT Client Init"); + Logfile.WriteHeapInfo("MQTT Client Init"); #endif client = esp_mqtt_client_init(&mqtt_cfg); @@ -325,30 +325,30 @@ int MQTT_Init() { esp_err_t ret = esp_mqtt_client_register_event(client, esp_mqtt_ID, mqtt_event_handler, client); if (ret != ESP_OK) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Could not register event (ret=" + std::to_string(ret) + ")!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Could not register event (ret=" + std::to_string(ret) + ")!"); mqtt_initialized = false; return -1; } #ifdef DEBUG_DETAIL_ON - Logfile.WriteHeapInfo("MQTT Client Start"); + Logfile.WriteHeapInfo("MQTT Client Start"); #endif ret = esp_mqtt_client_start(client); if (ret != ESP_OK) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Client start failed (retval=" + std::to_string(ret) + ")!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Client start failed (retval=" + std::to_string(ret) + ")!"); mqtt_initialized = false; return -1; } else { - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Client started, waiting for established connection..."); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Client started, waiting for established connection..."); mqtt_initialized = true; return 1; } } else { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init failed, no handle created!"); + Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init failed, no handle created!"); mqtt_initialized = false; return -1; } @@ -386,13 +386,13 @@ bool getMQTTisConnected() { bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); if (_data_len > 0) { MQTTCtrlFlowStart(_topic); } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_flow_start: handler called, but no data"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_flow_start: handler called, but no data"); } return ESP_OK; @@ -411,7 +411,7 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) if (cJSON_IsString(numbersname) && (numbersname->valuestring != NULL)) { // Check if numbersname is valid if (cJSON_IsNumber(value)) { // Check if value is a number - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_set_prevalue called: numbersname: " + std::string(numbersname->valuestring) + + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_set_prevalue called: numbersname: " + std::string(numbersname->valuestring) + ", value: " + std::to_string(value->valuedouble)); if (flowctrl.UpdatePrevalue(std::to_string(value->valuedouble), std::string(numbersname->valuestring), true)) { cJSON_Delete(jsonData); @@ -419,16 +419,16 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) } } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: value not a valid number (\"value\": 12345.12345)"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: value not a valid number (\"value\": 12345.12345)"); } } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: numbersname not a valid string (\"numbersname\": \"main\")"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: numbersname not a valid string (\"numbersname\": \"main\")"); } cJSON_Delete(jsonData); } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: handler called, but no data received"); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: handler called, but no data received"); } return ESP_FAIL; @@ -437,12 +437,12 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) void MQTTconnected(){ if (mqtt_connected) { - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Connected to broker"); + Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Connected to broker"); if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); } } @@ -458,7 +458,7 @@ void MQTTconnected(){ if (subscribeFunktionMap != NULL) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_subscribe(client, it->first.c_str(), 0); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic " + it->first + " subscribe successful, msg_id=" + std::to_string(msg_id)); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic " + it->first + " subscribe successful, msg_id=" + std::to_string(msg_id)); } } @@ -471,13 +471,13 @@ void MQTTconnected(){ void MQTTregisterConnectFunction(std::string name, std::function func){ - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); if (connectFunktionMap == NULL) { connectFunktionMap = new std::map>(); } if ((*connectFunktionMap)[name] != NULL) { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); return; } @@ -490,7 +490,7 @@ void MQTTregisterConnectFunction(std::string name, std::function func){ void MQTTunregisterConnectFunction(std::string name){ - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); if ((connectFunktionMap != NULL) && (connectFunktionMap->find(name) != connectFunktionMap->end())) { connectFunktionMap->erase(name); } @@ -498,13 +498,13 @@ void MQTTunregisterConnectFunction(std::string name){ void MQTTregisterSubscribeFunction(std::string topic, std::function func){ - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); if (subscribeFunktionMap == NULL) { subscribeFunktionMap = new std::map>(); } if ((*subscribeFunktionMap)[topic] != NULL) { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); + Logfile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); return; } @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); + Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); } } From fc7009bcc666f8ad9d1c6503b332f8212e26c505 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:04:15 +0100 Subject: [PATCH 05/18] Update interface_mqtt.cpp --- .../components/jomjol_mqtt/interface_mqtt.cpp | 126 +++++++++--------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 196bbb52..0dd3a22c 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -52,7 +52,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ } #ifdef DEBUG_DETAIL_ON - Logfile.WriteHeapInfo("MQTT Publish"); + LogFile.WriteHeapInfo("MQTT Publish"); #endif MQTT_Init(); // Re-Init client if not initialized yet/anymore @@ -63,19 +63,19 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif int msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); #ifdef DEBUG_DETAIL_ON starttime = esp_timer_get_time(); #endif msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); failedOnRound = getCountFlowRounds(); return false; } @@ -86,11 +86,11 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ _content.append(".."); } - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Published topic: " + _key + ", content: " + _content + " (msg_id=" + std::to_string(msg_id) + ")"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Published topic: " + _key + ", content: " + _content + " (msg_id=" + std::to_string(msg_id) + ")"); return true; } else { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish skipped. Client not initalized or not connected. (topic: " + _key + ")"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish skipped. Client not initalized or not connected. (topic: " + _key + ")"); return false; } } @@ -113,38 +113,38 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DISCONNECTED: mqtt_connected = false; MQTTReconnectCnt++; - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "Disconnected, trying to reconnect"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Disconnected, trying to reconnect"); if (MQTTReconnectCnt >= 5) { MQTTReconnectCnt = 0; - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Disconnected, multiple reconnect attempts failed, still retrying..."); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Disconnected, multiple reconnect attempts failed, still retrying..."); } break; case MQTT_EVENT_SUBSCRIBED: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_UNSUBSCRIBED: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_PUBLISHED: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_DATA: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); (*subscribeFunktionMap)[topic](topic, event->data, event->data_len); } } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); } break; @@ -154,44 +154,44 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { // The server does not support the level of the MQTT protocol requested by the client // NOTE: Only protocol 3.1.1 is supported (refer to setting in sdkconfig) if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_PROTOCOL) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, unacceptable protocol version (0x01)"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, unacceptable protocol version (0x01)"); } // The client identifier is correct UTF-8 but not allowed by the server // e.g. clientID empty (cannot be the case -> default set in firmware) else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_ID_REJECTED) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, identifier rejected (0x02)"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, identifier rejected (0x02)"); } // The network connection has been made but the MQTT service is unavailable else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_SERVER_UNAVAILABLE) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, Server unavailable (0x03)"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, Server unavailable (0x03)"); } // The data in the user name or password is malformed else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_BAD_USERNAME) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, malformed data in username or password (0x04)"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, malformed data in username or password (0x04)"); } // The client is not authorized to connect else if (event->error_handle->connect_return_code == MQTT_CONNECTION_REFUSE_NOT_AUTHORIZED) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, not authorized. Check username/password (0x05)"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, not authorized. Check username/password (0x05)"); } else { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); - Logfile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); } #ifdef DEBUG_DETAIL_ON - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); #endif break; default: - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); break; } return ESP_OK; @@ -199,7 +199,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } @@ -210,7 +210,7 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us int _keepalive, bool _SetRetainFlag, void *_callbackOnConnected) { if ((_mqttURI.length() == 0) || (_maintopic.length() == 0) || (_clientid.length() == 0)) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init aborted! Config error (URI, MainTopic or ClientID missing)"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Init aborted! Config error (URI, MainTopic or ClientID missing)"); return false; } @@ -228,19 +228,19 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us std::ifstream cert_ifs(_clientcertfilename); std::string cert_content((std::istreambuf_iterator(cert_ifs)), (std::istreambuf_iterator())); clientCert = cert_content; - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientCert: " + _clientcertfilename); + LogFile.WriteToFile(ESP_LOG_INFO, TAG, "using clientCert: " + _clientcertfilename); std::ifstream key_ifs(_clientkeyfilename); std::string key_content((std::istreambuf_iterator(key_ifs)), (std::istreambuf_iterator())); clientKey = key_content; - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using clientKey: " + _clientkeyfilename); + LogFile.WriteToFile(ESP_LOG_INFO, TAG, "using clientKey: " + _clientkeyfilename); } if (_cacertfilename.length() ){ std::ifstream ifs(_cacertfilename); std::string content((std::istreambuf_iterator(ifs)), (std::istreambuf_iterator())); caCert = content; - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "using caCert: " + _cacertfilename); + LogFile.WriteToFile(ESP_LOG_INFO, TAG, "using caCert: " + _cacertfilename); } if (_user.length() && _password.length()){ @@ -249,10 +249,10 @@ bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _us } #ifdef __HIDE_PASSWORD - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: XXXXXXXX, maintopic: " + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: XXXXXXXX, maintopic: " + maintopic + ", last-will-topic: " + lwt_topic + ", keepAlive: " + std::to_string(keepalive) + ", RetainFlag: " + std::to_string(SetRetainFlag)); #else - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: " + password + ", maintopic: " + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "URI: " + uri + ", clientname: " + client_id + ", user: " + user + ", password: " + password + ", maintopic: " + maintopic + ", last-will-topic: " + lwt_topic + ", keepAlive: " + std::to_string(keepalive) + ", RetainFlag: " + std::to_string(SetRetainFlag)); #endif @@ -269,16 +269,16 @@ int MQTT_Init() { if (mqtt_configOK) { mqtt_enabled = true; } else { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but client is not yet configured."); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but client is not yet configured."); return 0; } if (!getWIFIisConnected()) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but WIFI is not yet connected."); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Init called, but WIFI is not yet connected."); return 0; } - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Init"); + LogFile.WriteToFile(ESP_LOG_INFO, TAG, "Init"); MQTTdestroy_client(false); esp_mqtt_client_config_t mqtt_cfg = { }; @@ -316,7 +316,7 @@ int MQTT_Init() { } #ifdef DEBUG_DETAIL_ON - Logfile.WriteHeapInfo("MQTT Client Init"); + LogFile.WriteHeapInfo("MQTT Client Init"); #endif client = esp_mqtt_client_init(&mqtt_cfg); @@ -325,30 +325,30 @@ int MQTT_Init() { esp_err_t ret = esp_mqtt_client_register_event(client, esp_mqtt_ID, mqtt_event_handler, client); if (ret != ESP_OK) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Could not register event (ret=" + std::to_string(ret) + ")!"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Could not register event (ret=" + std::to_string(ret) + ")!"); mqtt_initialized = false; return -1; } #ifdef DEBUG_DETAIL_ON - Logfile.WriteHeapInfo("MQTT Client Start"); + LogFile.WriteHeapInfo("MQTT Client Start"); #endif ret = esp_mqtt_client_start(client); if (ret != ESP_OK) { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Client start failed (retval=" + std::to_string(ret) + ")!"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Client start failed (retval=" + std::to_string(ret) + ")!"); mqtt_initialized = false; return -1; } else { - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Client started, waiting for established connection..."); + LogFile.WriteToFile(ESP_LOG_INFO, TAG, "Client started, waiting for established connection..."); mqtt_initialized = true; return 1; } } else { - Logfile.WriteToFile(ESP_LOG_ERROR, TAG, "Init failed, no handle created!"); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Init failed, no handle created!"); mqtt_initialized = false; return -1; } @@ -386,13 +386,13 @@ bool getMQTTisConnected() { bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) { - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); if (_data_len > 0) { MQTTCtrlFlowStart(_topic); } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_flow_start: handler called, but no data"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_flow_start: handler called, but no data"); } return ESP_OK; @@ -411,7 +411,7 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) if (cJSON_IsString(numbersname) && (numbersname->valuestring != NULL)) { // Check if numbersname is valid if (cJSON_IsNumber(value)) { // Check if value is a number - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_set_prevalue called: numbersname: " + std::string(numbersname->valuestring) + + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_set_prevalue called: numbersname: " + std::string(numbersname->valuestring) + ", value: " + std::to_string(value->valuedouble)); if (flowctrl.UpdatePrevalue(std::to_string(value->valuedouble), std::string(numbersname->valuestring), true)) { cJSON_Delete(jsonData); @@ -419,16 +419,16 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) } } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: value not a valid number (\"value\": 12345.12345)"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: value not a valid number (\"value\": 12345.12345)"); } } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: numbersname not a valid string (\"numbersname\": \"main\")"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: numbersname not a valid string (\"numbersname\": \"main\")"); } cJSON_Delete(jsonData); } else { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: handler called, but no data received"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "handler_set_prevalue: handler called, but no data received"); } return ESP_FAIL; @@ -437,12 +437,12 @@ bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) void MQTTconnected(){ if (mqtt_connected) { - Logfile.WriteToFile(ESP_LOG_INFO, TAG, "Connected to broker"); + LogFile.WriteToFile(ESP_LOG_INFO, TAG, "Connected to broker"); if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); } } @@ -458,7 +458,7 @@ void MQTTconnected(){ if (subscribeFunktionMap != NULL) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_subscribe(client, it->first.c_str(), 0); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic " + it->first + " subscribe successful, msg_id=" + std::to_string(msg_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic " + it->first + " subscribe successful, msg_id=" + std::to_string(msg_id)); } } @@ -471,13 +471,13 @@ void MQTTconnected(){ void MQTTregisterConnectFunction(std::string name, std::function func){ - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); if (connectFunktionMap == NULL) { connectFunktionMap = new std::map>(); } if ((*connectFunktionMap)[name] != NULL) { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); return; } @@ -490,7 +490,7 @@ void MQTTregisterConnectFunction(std::string name, std::function func){ void MQTTunregisterConnectFunction(std::string name){ - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); if ((connectFunktionMap != NULL) && (connectFunktionMap->find(name) != connectFunktionMap->end())) { connectFunktionMap->erase(name); } @@ -498,13 +498,13 @@ void MQTTunregisterConnectFunction(std::string name){ void MQTTregisterSubscribeFunction(std::string topic, std::function func){ - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); if (subscribeFunktionMap == NULL) { subscribeFunktionMap = new std::map>(); } if ((*subscribeFunktionMap)[topic] != NULL) { - Logfile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); return; } @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - Logfile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); } } From 4c198e7effe7fbc8a80e7f83787a9054082bf76f Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:06:23 +0100 Subject: [PATCH 06/18] Update interface_mqtt.cpp --- .../components/jomjol_mqtt/interface_mqtt.cpp | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 0dd3a22c..0d105e25 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -63,7 +63,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif int msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); #endif if (msg_id == -1) { LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); @@ -126,25 +126,25 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { break; case MQTT_EVENT_UNSUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_PUBLISHED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); break; case MQTT_EVENT_DATA: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); (*subscribeFunktionMap)[topic](topic, event->data, event->data_len); } } else { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); } break; @@ -175,23 +175,23 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { } else { LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); - LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); } #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); #endif break; default: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); break; } return ESP_OK; @@ -199,7 +199,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } @@ -442,7 +442,7 @@ void MQTTconnected(){ if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); } } @@ -471,7 +471,7 @@ void MQTTconnected(){ void MQTTregisterConnectFunction(std::string name, std::function func){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); if (connectFunktionMap == NULL) { connectFunktionMap = new std::map>(); } @@ -490,7 +490,7 @@ void MQTTregisterConnectFunction(std::string name, std::function func){ void MQTTunregisterConnectFunction(std::string name){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); if ((connectFunktionMap != NULL) && (connectFunktionMap->find(name) != connectFunktionMap->end())) { connectFunktionMap->erase(name); } @@ -498,7 +498,7 @@ void MQTTunregisterConnectFunction(std::string name){ void MQTTregisterSubscribeFunction(std::string topic, std::function func){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); if (subscribeFunktionMap == NULL) { subscribeFunktionMap = new std::map>(); } @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); } } From 0b0381017a5122b601b24772f0910031a8f4d3a0 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:22:45 +0100 Subject: [PATCH 07/18] Update interface_mqtt.cpp --- .../components/jomjol_mqtt/interface_mqtt.cpp | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 0d105e25..2ad77693 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -63,7 +63,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif int msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id " + std::to_string(msg_id) + " in " + std::to_string((esp_timer_get_time() - starttime)/1000) + " ms"); #endif if (msg_id == -1) { LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Failed to publish topic '" + _key + "', re-trying..."); @@ -72,7 +72,7 @@ bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_ #endif msg_id = esp_mqtt_client_publish(client, _key.c_str(), _content.c_str(), 0, qos, retained_flag); #ifdef DEBUG_DETAIL_ON - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id %d in %lld ms", msg_id, (esp_timer_get_time() - starttime)/1000); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Publish msg_id " + std::to_string(msg_id) + " in " + std::to_string((esp_timer_get_time() - starttime)/1000) + " ms"); #endif if (msg_id == -1) { LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to publish topic '" + _key + "', skipping all MQTT publishings in this round!"); @@ -122,29 +122,29 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { break; case MQTT_EVENT_SUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=" + std::to_string(event->msg_id)); break; case MQTT_EVENT_UNSUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=std::to_string(event->msg_id)); break; case MQTT_EVENT_PUBLISHED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=std::to_string(event->msg_id)); break; case MQTT_EVENT_DATA: LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=%.*s", event->topic_len, event->topic); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=%.*s", event->data_len, event->data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + event->topic); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + event->data); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call subcribe function for topic " + topic); (*subscribeFunktionMap)[topic](topic, event->data, event->data_len); } } else { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available\r\n"); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "no handler available!"); } break; @@ -174,24 +174,24 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Connection refused, not authorized. Check username/password (0x05)"); } else { - LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id:" + event->error_handle->connect_return_code); - LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id:%d", event->error_handle->connect_return_code); + LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id: " + std::to_string(event->error_handle->connect_return_code)); + LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id: " + std::to_string(event->error_handle->connect_return_code)); } #ifdef DEBUG_DETAIL_ON LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_ERROR - esp_mqtt_error_codes:"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type:%d", event->error_handle->error_type); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code:%d", event->error_handle->connect_return_code); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno:%d", event->error_handle->esp_transport_sock_errno); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err:%d", event->error_handle->esp_tls_last_esp_err); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err:%d", event->error_handle->esp_tls_stack_err); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags:%d", event->error_handle->esp_tls_cert_verify_flags); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "error_type: " + std::to_string(event->error_handle->error_type)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "connect_return_code: " + std::to_string(event->error_handle->connect_return_code)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_transport_sock_errno: " + std::to_string(event->error_handle->esp_transport_sock_errno)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_last_esp_err: " + std::to_string(event->error_handle->esp_tls_last_esp_err)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_stack_err: " + std::to_string(event->error_handle->esp_tls_stack_err)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "esp_tls_cert_verify_flags: " + std::to_string(event->error_handle->esp_tls_cert_verify_flags)); #endif break; default: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id:%d", event->event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Other event id: " + std::to_string(event->event_id)); break; } return ESP_OK; @@ -199,7 +199,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=%s, event_id=%d", base, (int)event_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=" + base + ", event_id=" + std::to_string(event_id)); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } @@ -386,7 +386,7 @@ bool getMQTTisConnected() { bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic='" + _topic + "', data='" + _data +"'"); if (_data_len > 0) { MQTTCtrlFlowStart(_topic); @@ -401,7 +401,7 @@ bool mqtt_handler_flow_start(std::string _topic, char* _data, int _data_len) bool mqtt_handler_set_prevalue(std::string _topic, char* _data, int _data_len) { - //LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic %s, data %.*s", _topic.c_str(), _data_len, _data); + //LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Handler called: topic='" + _topic + "', data='" + _data +"'"); //example: {"numbersname": "main", "value": 12345.1234567} if (_data_len > 0) { // Check if data length > 0 @@ -442,7 +442,7 @@ void MQTTconnected(){ if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function %s", it->first.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function '", it->first + "'"); } } @@ -471,13 +471,13 @@ void MQTTconnected(){ void MQTTregisterConnectFunction(std::string name, std::function func){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTTregisteronnectFunction " + name); if (connectFunktionMap == NULL) { connectFunktionMap = new std::map>(); } if ((*connectFunktionMap)[name] != NULL) { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "connect function %s already registred", name.c_str()); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "connect function '" + name + "' already registred!"); return; } @@ -490,7 +490,7 @@ void MQTTregisterConnectFunction(std::string name, std::function func){ void MQTTunregisterConnectFunction(std::string name){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction %s\r\n", name.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "unregisterConnnectFunction '" + name + "'"); if ((connectFunktionMap != NULL) && (connectFunktionMap->find(name) != connectFunktionMap->end())) { connectFunktionMap->erase(name); } @@ -498,13 +498,13 @@ void MQTTunregisterConnectFunction(std::string name){ void MQTTregisterSubscribeFunction(std::string topic, std::function func){ - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction %s", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "registerSubscribeFunction '" + topic + "'"); if (subscribeFunktionMap == NULL) { subscribeFunktionMap = new std::map>(); } if ((*subscribeFunktionMap)[topic] != NULL) { - LogFile.WriteToFile(ESP_LOG_WARN, TAG, "topic %s already registered for subscription", topic.c_str()); + LogFile.WriteToFile(ESP_LOG_WARN, TAG, "topic '" + topic + "' already registered for subscription!"); return; } @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic %s unsubscribe successful, msg_id=%d", it->first.c_str(), msg_id); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic "' + it->first + "' unsubscribe successful, msg_id=" + str::to_string(msg_id)); } } From 68fbd7137ba0fb48dd84dcd85da0dbdada0dfee3 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:25:13 +0100 Subject: [PATCH 08/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 2ad77693..835c0bc5 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -126,11 +126,11 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { break; case MQTT_EVENT_UNSUBSCRIBED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=std::to_string(event->msg_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=" + std::to_string(event->msg_id)); break; case MQTT_EVENT_PUBLISHED: - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=std::to_string(event->msg_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_PUBLISHED, msg_id=" + std::to_string(event->msg_id)); break; case MQTT_EVENT_DATA: From 3696085ad688e8b38513e74e44da61299b76704c Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:26:52 +0100 Subject: [PATCH 09/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 835c0bc5..f9f32575 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -517,7 +517,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic "' + it->first + "' unsubscribe successful, msg_id=" + str::to_string(msg_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic '" + it->first + "' unsubscribe successful, msg_id=" + str::to_string(msg_id)); } } From 13e7440e3305860a49c0ad97bdbc0e2fa12289bd Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:30:34 +0100 Subject: [PATCH 10/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index f9f32575..38381076 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -135,8 +135,8 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DATA: LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + event->topic); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + event->data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + str(event->topic)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + str(event->data)); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { @@ -175,7 +175,6 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { } else { LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Other event id: " + std::to_string(event->error_handle->connect_return_code)); - LogFile.WriteToFile(ESP_LOG_ERR, TAG, "Other event id: " + std::to_string(event->error_handle->connect_return_code)); } #ifdef DEBUG_DETAIL_ON From 40ab0ee1ff3df1c8c88bd999a196b1f573f8a7cd Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:31:50 +0100 Subject: [PATCH 11/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 38381076..bb3f0078 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -135,8 +135,8 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DATA: LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + str(event->topic)); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + str(event->data)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + std::str(event->topic)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + std::str(event->data)); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { From a21bd4c611073f55ad3db0662631d837c165fc1e Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:32:40 +0100 Subject: [PATCH 12/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index bb3f0078..50fded41 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -198,7 +198,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=" + base + ", event_id=" + std::to_string(event_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=" + std::str(base) + ", event_id=" + std::to_string(event_id)); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } From d31a318ab83cac6a061a27c4e2a18b010ee30bd3 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:33:18 +0100 Subject: [PATCH 13/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 50fded41..dd906f29 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -441,7 +441,7 @@ void MQTTconnected(){ if (connectFunktionMap != NULL) { for(std::map>::iterator it = connectFunktionMap->begin(); it != connectFunktionMap->end(); ++it) { it->second(); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function '", it->first + "'"); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "call connect function '" + it->first + "'"); } } From 1aef8fa8a2daa0877f154d4d391d3f34d47ad1f1 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:35:25 +0100 Subject: [PATCH 14/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index dd906f29..f2965163 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -135,8 +135,8 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DATA: LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + std::str(event->topic)); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + std::str(event->data)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + std:.string(event->topic)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + std:.string(event->data)); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { @@ -198,7 +198,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=" + std::str(base) + ", event_id=" + std::to_string(event_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=" + std:.string(base) + ", event_id=" + std::to_string(event_id)); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } From 238f452efb397dd3d3a34f1c2eee805ba7715632 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:36:38 +0100 Subject: [PATCH 15/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index f2965163..43925c5a 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -516,7 +516,7 @@ void MQTTdestroySubscribeFunction(){ if (mqtt_connected) { for(std::map>::iterator it = subscribeFunktionMap->begin(); it != subscribeFunktionMap->end(); ++it) { int msg_id = esp_mqtt_client_unsubscribe(client, it->first.c_str()); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic '" + it->first + "' unsubscribe successful, msg_id=" + str::to_string(msg_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "topic '" + it->first + "' unsubscribe successful, msg_id=" + std::to_string(msg_id)); } } From a014bdff392943ee74a9ac1051a6219480a52e68 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:37:53 +0100 Subject: [PATCH 16/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 43925c5a..90255b7a 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -198,7 +198,7 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=" + std:.string(base) + ", event_id=" + std::to_string(event_id)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Event dispatched from event loop base=" + std::string(base) + ", event_id=" + std::to_string(event_id)); mqtt_event_handler_cb((esp_mqtt_event_handle_t) event_data); } From a82d9068c0c2565270f459c04944b9140493c4d8 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 00:38:43 +0100 Subject: [PATCH 17/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 90255b7a..6b43ae99 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -135,8 +135,8 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DATA: LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + std:.string(event->topic)); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + std:.string(event->data)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + std::string(event->topic)); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + std::string(event->data)); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) { From 3127990ccdd35c90749c9d15edb11b69667b705c Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Sat, 3 Feb 2024 23:26:19 +0100 Subject: [PATCH 18/18] Update interface_mqtt.cpp --- code/components/jomjol_mqtt/interface_mqtt.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/components/jomjol_mqtt/interface_mqtt.cpp b/code/components/jomjol_mqtt/interface_mqtt.cpp index 6b43ae99..af03b941 100644 --- a/code/components/jomjol_mqtt/interface_mqtt.cpp +++ b/code/components/jomjol_mqtt/interface_mqtt.cpp @@ -135,8 +135,11 @@ static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { case MQTT_EVENT_DATA: LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "MQTT_EVENT_DATA"); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + std::string(event->topic)); - LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + std::string(event->data)); + char buf[100]; + snprintf(buf, sizeof(buf), "%.*s", event->topic_len, event->topic); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "TOPIC=" + std::string(buf)); + snprintf(buf, sizeof(buf), "%.*s", event->data_len, event->data); + LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "DATA=" + std::string(buf)); topic.assign(event->topic, event->topic_len); if (subscribeFunktionMap != NULL) { if (subscribeFunktionMap->find(topic) != subscribeFunktionMap->end()) {