From 8b310eb6e6c2086c631fa40e648156774a354834 Mon Sep 17 00:00:00 2001 From: crankyoldgit Date: Sat, 7 Jan 2017 17:47:39 +1000 Subject: [PATCH 1/2] Coolix IR protocol has 3 bytes of data 3 bytes == 24 bits. --- _433nIRtoMQTTto433nIR_ESP8266.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_433nIRtoMQTTto433nIR_ESP8266.ino b/_433nIRtoMQTTto433nIR_ESP8266.ino index 8882434..5edf609 100644 --- a/_433nIRtoMQTTto433nIR_ESP8266.ino +++ b/_433nIRtoMQTTto433nIR_ESP8266.ino @@ -261,7 +261,7 @@ void receivingMQTT(String topicNameRec, String callbackstring) { } //send received MQTT value by IR signal (example of signal sent data = 1086296175) if (topicNameRec == subjectMQTTtoIRCOOLIX) - irsend.sendCOOLIX(data, 36); // Note: data (unsigned long) is only 32bits long on the ESP8266. + irsend.sendCOOLIX(data, 24); if (topicNameRec == subjectMQTTtoIRWhynter) irsend.sendWhynter(data, 32); if (topicNameRec == subjectMQTTtoIRNEC) From 5badae32ee8ed1943007251e81d84bec42259ded Mon Sep 17 00:00:00 2001 From: crankyoldgit Date: Sat, 7 Jan 2017 18:01:03 +1000 Subject: [PATCH 2/2] Fix Sharp and DISH IR protocol bit lengths sendSharp is called by sendSharp(address, command), not (data, bits). However, we can call sendSharpRaw(data, bits). The DISH IR protocol appears to have 16 bits of data. --- _433nIRtoMQTTto433nIR_ESP8266.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_433nIRtoMQTTto433nIR_ESP8266.ino b/_433nIRtoMQTTto433nIR_ESP8266.ino index 5edf609..64a2f0d 100644 --- a/_433nIRtoMQTTto433nIR_ESP8266.ino +++ b/_433nIRtoMQTTto433nIR_ESP8266.ino @@ -271,9 +271,9 @@ void receivingMQTT(String topicNameRec, String callbackstring) { if (topicNameRec == subjectMQTTtoIRSony) irsend.sendSony(data, 12); if (topicNameRec == subjectMQTTtoIRDISH) - irsend.sendDISH(data, 36); // Note: data (unsigned long) is only 32bits long on the ESP8266. + irsend.sendDISH(data, 16); if (topicNameRec == subjectMQTTtoIRSharp) - irsend.sendSharp(data, 36); // Note: data (unsigned long) is only 32bits long on the ESP8266. + irsend.sendSharpRaw(data, 15); /* Panasonic has a two arguments per call. An address(16bit) and data(32bit), not data and nr_bits. if (topicNameRec == subjectMQTTtoIRPanasonic)