From d71473a4e7ba8892d12d49c89f63568fe12ecfb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Mon, 12 Feb 2024 19:30:05 +0100 Subject: [PATCH] Reflect MQTT state with online/offline scripts --- src/mqtt/hasp_mqtt_paho_async.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mqtt/hasp_mqtt_paho_async.cpp b/src/mqtt/hasp_mqtt_paho_async.cpp index 5485fe9e..71136d07 100644 --- a/src/mqtt/hasp_mqtt_paho_async.cpp +++ b/src/mqtt/hasp_mqtt_paho_async.cpp @@ -94,6 +94,9 @@ int mqttPublish(const char* topic, const char* payload, size_t len, bool retain static void onConnectFailure(void* context, MQTTAsync_failureData* response) { +#if HASP_TARGET_PC + dispatch_run_script(NULL, "L:/offline.cmd", TAG_HASP); +#endif mqttConnecting = false; mqttConnected = false; LOG_ERROR(TAG_MQTT, "Connection failed, return code %d (%s)", response->code, response->message); @@ -101,6 +104,9 @@ static void onConnectFailure(void* context, MQTTAsync_failureData* response) static void onDisconnect(void* context, MQTTAsync_successData* response) { +#if HASP_TARGET_PC + dispatch_run_script(NULL, "L:/offline.cmd", TAG_HASP); +#endif mqttConnecting = false; mqttConnected = false; } @@ -124,6 +130,9 @@ static void onSubscribeFailure(void* context, MQTTAsync_failureData* response) static void connlost(void* context, char* cause) { +#if HASP_TARGET_PC + dispatch_run_script(NULL, "L:/offline.cmd", TAG_HASP); +#endif LOG_WARNING(TAG_MQTT, F(D_MQTT_DISCONNECTED ": %s"), cause); mqttConnecting = false; mqttConnected = false; @@ -341,6 +350,10 @@ static void onConnect(void* context, MQTTAsync_successData* response) #endif mqttPublish(mqttLwtTopic.c_str(), "online", 6, true); + +#if HASP_TARGET_PC + dispatch_run_script(NULL, "L:/online.cmd", TAG_HASP); +#endif } void mqttStart()