From 76c06690a2f3ca4c7d5ea3d61671ecbea59f2a45 Mon Sep 17 00:00:00 2001 From: Mathieu Maret Date: Fri, 28 Oct 2016 00:21:12 +0200 Subject: [PATCH] Fix MQTT publishing when mqtt is not configured --- Esp8266-Arduino-Makefile | 2 +- WifiControlSensor/MQTT.ino | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Esp8266-Arduino-Makefile b/Esp8266-Arduino-Makefile index 8030bb2..6ffd79d 160000 --- a/Esp8266-Arduino-Makefile +++ b/Esp8266-Arduino-Makefile @@ -1 +1 @@ -Subproject commit 8030bb24a8f37d4b6efc4a5ac2751856ee70506b +Subproject commit 6ffd79de30164e67f6c059b7a1792bdc3860e973 diff --git a/WifiControlSensor/MQTT.ino b/WifiControlSensor/MQTT.ino index b0d591e..26b0b25 100644 --- a/WifiControlSensor/MQTT.ino +++ b/WifiControlSensor/MQTT.ino @@ -174,21 +174,22 @@ int getGpioFromSubscription(Adafruit_MQTT_Subscribe *subscription, const char *p return -1; } -void MqttChangeGpioValue(int gpio, int value) { - pinMode(gpio, OUTPUT); - digitalWrite(gpio, value); +void MqttNofity(int gpio, int value){ int watchIdx = findIndex(gpio, gpioWatched); - if (watchIdx >= 0 ) { + if (watchIdx >= 0 && isMqttConfigured) { mqttGpio[watchIdx]->publish(value); } } +void MqttChangeGpioValue(int gpio, int value) { + pinMode(gpio, OUTPUT); + digitalWrite(gpio, value); + MqttNofity(gpio, value); +} + void MqttChangePWMValue(int gpio, int value) { analogWrite(gpio, value); - int watchIdx = findIndex(gpio, gpioWatched); - if (watchIdx >= 0 ) { - mqttGpio[watchIdx]->publish(value); - } + MqttNofity(gpio, value); } void MqttCheckSubscription() {