From b2ca987195407e26ac917fcae49ac9e08e090d4d Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 16 Oct 2018 17:27:01 +0200 Subject: [PATCH] Fix Sonoff Bridge RfRaw Fix Sonoff Bridge RfRaw receive (#4080, #4085) --- sonoff/_changelog.ino | 2 +- sonoff/xdrv_06_snfbridge.ino | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sonoff/_changelog.ino b/sonoff/_changelog.ino index 0feb0a38d..e7ce596bf 100644 --- a/sonoff/_changelog.ino +++ b/sonoff/_changelog.ino @@ -3,7 +3,7 @@ * Change xsns_17_senseair.ino to use TasmotaModbus library * Fix xnrg_05_pzem2.ino for PZEM-014/016 support using TasmotaModbus library (#3694) * Fix RfRaw and SerialSend5 regression from 6.2.1.15 (#4072) - * Fix Sonoff Bridge RfRaw receive (#4080) + * Fix Sonoff Bridge RfRaw receive (#4080, #4085) * Add support for Tuya Dimmer (#469, #4075) * Fix possible wifi connection error (#4044, #4083) * Update PubSubClient Mqtt library to non-blocking EspEasy version diff --git a/sonoff/xdrv_06_snfbridge.ino b/sonoff/xdrv_06_snfbridge.ino index 7f983fee1..8e9201b43 100644 --- a/sonoff/xdrv_06_snfbridge.ino +++ b/sonoff/xdrv_06_snfbridge.ino @@ -311,10 +311,10 @@ boolean SonoffBridgeSerialInput() serial_in_buffer[serial_in_byte_counter++] = serial_in_byte; if (serial_in_byte_counter == 3) { if ((0xA6 == serial_in_buffer[1]) || (0xAB == serial_in_buffer[1])) { // AA A6 06 023908010155 55 - 06 is receive_len - receive_len = serial_in_buffer[2]; // Get at least receive_len bytes + receive_len = serial_in_buffer[2] + 4; // Get at least receive_len bytes } } - if (((0 == receive_len) && (0x55 == serial_in_byte)) || (serial_in_byte_counter == receive_len + 4)) { // 0x55 - End of text + if ((!receive_len && (0x55 == serial_in_byte)) || (receive_len && (serial_in_byte_counter == receive_len))) { // 0x55 - End of text SonoffBridgeReceivedRaw(); sonoff_bridge_receive_flag = 0; return 1;