diff --git a/lib/lib_rf/rc-switch/src/RCSwitch.cpp b/lib/lib_rf/rc-switch/src/RCSwitch.cpp index 08f130760..6efd9f3e7 100644 --- a/lib/lib_rf/rc-switch/src/RCSwitch.cpp +++ b/lib/lib_rf/rc-switch/src/RCSwitch.cpp @@ -124,7 +124,8 @@ static const RCSwitch::Protocol PROGMEM proto[] = { { 400, 0, { 0, 0 }, 1, { 1, 1 }, { 1, 2 }, { 2, 1 }, false, 43 }, // 31 (Mertik Maxitrol G6R-H4T1) { 365, 0, { 0, 0 }, 1, { 18, 1 }, { 3, 1 }, { 1, 3 }, true, 0 }, // 32 (1ByOne Doorbell) from @Fatbeard https://github.com/sui77/rc-switch/pull/277 { 340, 0, { 0, 0 }, 1, { 14, 4 }, { 1, 2 }, { 2, 1 }, false, 0 }, // 33 (Dooya Control DC2708L) - { 120, 0, { 0, 0 }, 1, { 1, 28 }, { 1, 3 }, { 3, 1 }, false, 0 } // 34 DIGOO SD10 + { 120, 0, { 0, 0 }, 1, { 1, 28 }, { 1, 3 }, { 3, 1 }, false, 0 }, // 34 DIGOO SD10 + { 20, 0, { 0, 0 }, 1, { 239, 78 }, {20, 35 }, {35, 20}, false, 10000 } // 35 Dooya 5-Channel blinds remote DC1603 }; enum { diff --git a/tasmota/xdrv_17_rcswitch.ino b/tasmota/xdrv_17_rcswitch.ino index d676b7530..067e3f457 100644 --- a/tasmota/xdrv_17_rcswitch.ino +++ b/tasmota/xdrv_17_rcswitch.ino @@ -98,7 +98,7 @@ void CmndRfSend(void) bool error = false; if (XdrvMailbox.data_len) { - unsigned long data = 0; + unsigned long long data = 0; // unsigned long long => support payload >32bit unsigned int bits = 24; int protocol = 1; int repeat = 10; @@ -109,7 +109,7 @@ void CmndRfSend(void) if (root) { // RFsend {"data":0x501014,"bits":24,"protocol":1,"repeat":10,"pulse":350} char parm_uc[10]; - data = root.getUInt(PSTR(D_JSON_RF_DATA), data); + data = root.getULong(PSTR(D_JSON_RF_DATA), data); // read payload data even >32bit bits = root.getUInt(PSTR(D_JSON_RF_BITS), bits); protocol = root.getInt(PSTR(D_JSON_RF_PROTOCOL), protocol); repeat = root.getInt(PSTR(D_JSON_RF_REPEAT), repeat);