From bdb968e097c970d714803d3ca6be940b2798981c Mon Sep 17 00:00:00 2001 From: 1technophile Date: Sun, 9 Apr 2017 16:14:55 +0200 Subject: [PATCH] Add advanced mqtt publishing of ir data first part of #9 --- OpenMQTTGateway.ino | 14 +++++++++----- User_config.h | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/OpenMQTTGateway.ino b/OpenMQTTGateway.ino index 3febb52..d4c9a52 100644 --- a/OpenMQTTGateway.ino +++ b/OpenMQTTGateway.ino @@ -214,22 +214,24 @@ unsigned long MQTTvalue = 0; if (mySwitch.available()||irrecv.decode(&results)){ trc(F("Signal detected")); String subject; - String valueAdvanced =""; + String valueAdvanced; + String subjectAdvanced; if (mySwitch.available()){ MQTTvalue = mySwitch.getReceivedValue(); valueAdvanced = "Value " + String(MQTTvalue)+" Bit " + String(mySwitch.getReceivedBitlength()) + " Delay " + String(mySwitch.getReceivedDelay()) + " Protocol " + String(mySwitch.getReceivedProtocol()); mySwitch.resetAvailable(); subject = subject433toMQTT; + subjectAdvanced = subject433toMQTTAdvanced; }else if (irrecv.decode(&results)){ MQTTvalue=results.value; + valueAdvanced = "Value " + String(MQTTvalue)+" Bit " + String(results.bits) + " Protocol " + String(results.decode_type); irrecv.resume(); // Receive the next value subject = subjectIRtoMQTT; + subjectAdvanced = subjectIRtoMQTTAdvanced; } if (!isAduplicate(MQTTvalue) && MQTTvalue!=0) {// conditions to avoid duplications of RF -->MQTT - if (valueAdvanced != ""){ - trc(F("Sending advanced signal to MQTT")); - client.publish(subject433toMQTTAdvanced,(char *)valueAdvanced.c_str()); - } + trc(F("Sending advanced signal to MQTT")); + client.publish((char *)subjectAdvanced.c_str(),(char *)valueAdvanced.c_str()); trc(F("Sending signal to MQTT")); String value = String(MQTTvalue); trc(value); @@ -387,6 +389,8 @@ void receivingMQTT(char * topicOri, char * datacallback) { irrecv.enableIRIn(); // ReStart the IR receiver (if not restarted it is not able to receive data) } + + //trace void trc(String msg){ if (TRACE) { diff --git a/User_config.h b/User_config.h index 49a896f..1886209 100644 --- a/User_config.h +++ b/User_config.h @@ -75,6 +75,7 @@ const byte subnet[] = { 255, 255, 255, 0 }; //ip adress #define subjectGTWIRtoMQTT "home/sensors/ir" #define subjectIRtoMQTT "home/sensors/ir" #define subjectMQTTtoIR "home/commands/MQTTtoIR" +#define subjectIRtoMQTTAdvanced "home/IRtoMQTTAdvanced" /* RF supported protocols 433_1