From a072ada7ae147b0ff190f542a7e4394fcb19300a Mon Sep 17 00:00:00 2001 From: Niek van der Maas Date: Thu, 21 Mar 2019 12:40:38 +0100 Subject: [PATCH 1/3] Add option to disable relay reporting to MQTT --- code/espurna/config/general.h | 4 ++++ code/espurna/relay.ino | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/espurna/config/general.h b/code/espurna/config/general.h index 8c74394c..c1404d61 100644 --- a/code/espurna/config/general.h +++ b/code/espurna/config/general.h @@ -356,6 +356,10 @@ #define RELAY_SAVE_DELAY 1000 #endif +#ifndef RELAY_REPORT_STATUS +#define RELAY_REPORT_STATUS 1 +#endif + // Configure the MQTT payload for ON/OFF #ifndef RELAY_MQTT_ON #define RELAY_MQTT_ON "1" diff --git a/code/espurna/relay.ino b/code/espurna/relay.ino index 9fb78dc1..2d784d77 100644 --- a/code/espurna/relay.ino +++ b/code/espurna/relay.ino @@ -339,7 +339,7 @@ bool relayStatus(unsigned char id, bool status, bool report, bool group_report) } bool relayStatus(unsigned char id, bool status) { - return relayStatus(id, status, true, true); + return relayStatus(id, status, RELAY_REPORT_STATUS, true); } bool relayStatus(unsigned char id) { From 88135a67b3649f0f8541836c7606128eb811d69d Mon Sep 17 00:00:00 2001 From: Niek van der Maas Date: Fri, 22 Mar 2019 13:53:00 +0100 Subject: [PATCH 2/3] Added in relayToggle() as well --- code/espurna/relay.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/espurna/relay.ino b/code/espurna/relay.ino index 2d784d77..a3e19f2b 100644 --- a/code/espurna/relay.ino +++ b/code/espurna/relay.ino @@ -436,7 +436,7 @@ void relayToggle(unsigned char id, bool report, bool group_report) { } void relayToggle(unsigned char id) { - relayToggle(id, true, true); + relayToggle(id, RELAY_REPORT_STATUS, true); } unsigned char relayCount() { From 83dc391208edd193cf7f5f4bfdabf0ff319f50a7 Mon Sep 17 00:00:00 2001 From: Niek van der Maas Date: Mon, 25 Mar 2019 10:34:25 +0100 Subject: [PATCH 3/3] Use mqttForward() instead --- code/espurna/mqtt.ino | 2 +- code/espurna/relay.ino | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/espurna/mqtt.ino b/code/espurna/mqtt.ino index 3c1f155a..37704967 100644 --- a/code/espurna/mqtt.ino +++ b/code/espurna/mqtt.ino @@ -237,7 +237,7 @@ void _mqttConfigure() { // Getters and setters _mqtt_setter = getSetting("mqttSetter", MQTT_SETTER); _mqtt_getter = getSetting("mqttGetter", MQTT_GETTER); - _mqtt_forward = !_mqtt_getter.equals(_mqtt_setter); + _mqtt_forward = !_mqtt_getter.equals(_mqtt_setter) && RELAY_REPORT_STATUS; // MQTT options _mqtt_qos = getSetting("mqttQoS", MQTT_QOS).toInt(); diff --git a/code/espurna/relay.ino b/code/espurna/relay.ino index a3e19f2b..4aa2657d 100644 --- a/code/espurna/relay.ino +++ b/code/espurna/relay.ino @@ -339,7 +339,7 @@ bool relayStatus(unsigned char id, bool status, bool report, bool group_report) } bool relayStatus(unsigned char id, bool status) { - return relayStatus(id, status, RELAY_REPORT_STATUS, true); + return relayStatus(id, status, mqttForward(), true); } bool relayStatus(unsigned char id) { @@ -436,7 +436,7 @@ void relayToggle(unsigned char id, bool report, bool group_report) { } void relayToggle(unsigned char id) { - relayToggle(id, RELAY_REPORT_STATUS, true); + relayToggle(id, mqttForward(), true); } unsigned char relayCount() {