Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue generating B1 code for AC114-01B roller blind remote #148

Closed
autofrank opened this issue Jan 24, 2020 · 10 comments
Closed

Issue generating B1 code for AC114-01B roller blind remote #148

autofrank opened this issue Jan 24, 2020 · 10 comments

Comments

@autofrank
Copy link

autofrank commented Jan 24, 2020

EDIT - WORKING CODES FOUND AND INCLUDED IN LAST POST
Also included some information on upgrading the Tasmota RF Bridge FW and updating the Portisch RF Chip FW (pictures included)

Latest firmware used?

I;m running 6.1.1 on a Rf Bridge and also have the Portisch firmware update
I don't want to upgrade as I already have a remote working from the the RF bridge and I don't want to break that

Information

The remote is AC114-01B. It is from an AM-15 RF blind motor
https://www.amazon.co.uk/gp/product/B07RWTYDXG/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1

Sniffed data

AA B1 05 0254 147D 0117 5190 B360 20202020202020201002200220202002022002022020022020020220022002022020200202202002200202020200 55
AA B1 05 0259 148A 010F 5190 B34C 20202020202020201002200220202002022002022020022020020220022002022020200202202002200202020200 55
AA B1 05 0254 147D 0117 5190 B360 20202020202020201002200220202002022002022020022020020220022002022020200202202002200202020200 55

Hi,
I posted some sniffed code an example but am really interested in understanding the process as I think I need to sniff more codes to eventually find a good one. I'm familiar with the process havenig gotten help to solve this #23

I used the BitBucket converter (http://bbconv.hrbl.pl/) on a number of code but no luck but I read the the BB could be out of date or it may not work for al

I worked with this code
AA B1 05 0254 147D 0117 5190 B360 20202020202020201002200220202002022002022020022020020220022002022020200202202002200202020200 55

and tried to follow this process - https://github.com/Portisch/RF-Bridge-EFM8BB1/wiki/Decode-0xB1-sniffed-data

Starting with the buckets
Bucket 0 - 0254 (596ms)
Bucket 1 - 147D (5245ms)
Bucket 2 - 0117 (279)
Bucket 3 - 5190 (20880)
Bucket 4 - B360 (45920)

Bucket 4 is the longest bucket and there fore the (first) sync bucket

Working with the data
20202020202020201002200220202002022002022020022020020220022002022020200202202002200202020200

The first nibble is 2 but the sync bucket is 2 and in the example they matched so I got stuck here and couldn't determine second sync bucket

Could some body explain this part ?

After that
Bucket 1 is longer than bucket 0 (in my case)
a 10 means bit 1 and a 01 means bit 0

Could somebody explain what this means and how it impacts the next part

And I'm then pretty much lost
`First remove the high/low bucket marking by doing a logical and by 0x77 with each data byte:
818190908181908190909090908190819081818190909091
After AND 0x77:
010110100101100110101010100110011001010110101011

RF data: 01 01 10 10 01 01 10 01 10 10 10 10 10 01 10 01 10 01 01 01 10 10 10 11
Binary: 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1
So the result is 0x32FA8F (b001100101111101010001111), 24 bit of data.`

I'll be sending the code back through a rfraw command

As I said at the start if I can get to understand the process I can work with a lot of codes to find one that works

Al help appreciated

Thanks

@autofrank
Copy link
Author

autofrank commented Jan 25, 2020

Picture of remote and model number for reference
remote

I made a little progress

Tasmota on the RF Bridge was on 6..1.1 -I used the OTA update to bring it to 8.0.1

I then went to update the Portisch FW. I tried using the recommended way - 3.3V from mt FTDI232
and linking GPIO4 to C2Ck and GPIO5 to C2D. I kept on getting "Failed to write Flash". I tried a lot and then tried reversing the C2Ck and C2D and it worked

This is the board I have
Rf Bridge board

and this is the way it need to be setup (The picture isn't great so I labelled the wires but noticed that they are crossed) Ignore the pin headers I soldered them in myself)
Portish Flashing

I used the following location for the Portisch FW Hex file
https://github.com/Portisch/RF-Bridge-EFM8BB1
I downloaded the project zip and extracted all files. I then used the Tasmota FW Update feature to update the RF Flash

-- I am now getting more consistent codes on capture using RFRAW 177
I grouped like ones and converted it to B1 using Bit Bucket
Here are the codes captured and the bit bucket equivalent in a web command (as I'm testing through a browser)

{"RfRaw":{"Data":"AA B1 03 00E6 0276 026C 281908 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB00B030800E60276026C28190855

{"RfRaw":{"Data":"AA B1 03 00DC 0276 026C 281908 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB00B030800DC0276026C28190855

{"RfRaw":{"Data":"AA B1 03 00DC 0280 0276 281908 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB00B030800DC0280027628190855

{"RfRaw":{"Data":"AA B1 03 00FA 0258 0262 281908 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB00B030800FA0258026228190855

{"RfRaw":{"Data":"AA B1 03 00E6 0276 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0276 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0276 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0276 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0276 0276 281908 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB00B030800E60276027628190855

{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
{"RfRaw":{"Data":"AA B1 03 00E6 0280 0276 281908 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB00B030800E60280027628190855

{"RfRaw":{"Data":"AA B1 04 146E 024E 010E 146E 38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A1A1A1A192A1A1A1A19 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB04C0408146E024E010E146E38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A1A1A1A192A1A1A1A1955

{"RfRaw":{"Data":"AA B1 04 1478 0258 010E 146E 38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A1A1A1A192A1A1A1A19 55"}}
http://192.168.1.101/cm?cmnd=rfraw%20AAB04C040814780258010E146E38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A1A1A1A192A1A1A1A1955

Unfortunately none worked :-(... I think I'll have to manually convert and will try that again now so if anybody has hints or advice I'd appreciated it

Thanks

@autofrank
Copy link
Author

autofrank commented Jan 25, 2020

I tried to manually convert them @Portisch

AA B1 03 00FA 0262 0258 281908 55
Bit Bucket gives me AA B0 0B 03 08 00FA 0262 0258 281908 55

0xAA: sync start
0xB0: command
0x0B: len command (11 in decimal)
0x03: bucket count
0x08: repeats
buckets 0-2
data
0x55: sync end

but the len looks wrong as the data is 281908
len should be 06 and I increased the number of repeats to 20 (14 in hex)

giving me
AA B0 06 03 14 00FA 0262 0258 281908 55

but that doesn't work either ...

I'm a little lost as I'm not sure whether my approach or bit bucket in wrong or maybe the remote is supported

Sniffng

I'm also not sure if I should be using RfRaw AAB155 or RfRaw 177 (if there is a difference between them)

@autofrank autofrank changed the title Understanding how to decode from B1 to B0 RF Code Issue generating B1 code for AC114-01B roller blind remote Jan 25, 2020
@autofrank
Copy link
Author

autofrank commented Jan 25, 2020

The following codes worked for me ... (generated using BitBucket online converter)

BLIND DOWN
{"RfRaw":{"Data":"AA B1 04 146E 0258 0122 1482 38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A192A1A1A1A19292A1A192A1929292929 55"}}

AA B0 4C 04 08 146E 0258 0122 1482 38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A192A1A1A1A19292A1A192A1929292929 55

BLIND UP
{"RfRaw":{"Data":"AA B1 04 146E 0262 0122 148C 38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A1A1A192A1929292929292A19292929 55"}}

AA B0 4C 04 08 146E 0262 0122 148C 38192A192A1A1A19292A19292A1A192A1A19292A192A19292A192A19292A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A1A1A192A1929292929292A19292929 55

@rrlevy
Copy link

rrlevy commented Jan 19, 2021

I'm trying to replicate this procedure to controle my shades with the exact same RF Remote (AC114-01B) and Sonoff RF Bridge, but I can't make it work.

I installed the most recent Tasmota firmware as of today and flashed the Portisch RF firmware too.

I have my shades motor paired with the AC114-01B remote with the UP, DOWN and STOP buttons, and I'm trying to make the Sonoff RF Bridge to command the motor by sniffing and copying the remote codes.

I sniffed the codes by pressing the DOWN button several times at the remote, after sending the "rfraw 177" command at the tasmota bridge console:

16:51:14 CMD: rfraw 177
16:51:14 RSL: stat/tasmota_C23443/RESULT = {"RfRaw":"ON"}
16:51:14 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:14","RfRaw":{"Data":"AAA055"}}
16:51:27 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:27","RfRaw":{"Data":"AA B1 03 023A 0122 024E 28181909 55"}}
16:51:27 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:27","RfRaw":{"Data":"AA B1 04 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:28 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:28","RfRaw":{"Data":"AA B1 03 0244 010E 024E 28181909 55"}}
16:51:28 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:28","RfRaw":{"Data":"AA B1 04 1414 0244 010E 141E 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:29 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:29","RfRaw":{"Data":"AA B1 03 0244 0118 024E 28181909 55"}}
16:51:29 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:29","RfRaw":{"Data":"AA B1 04 1414 0258 0118 141E 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:30 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:30","RfRaw":{"Data":"AA B1 05 0172 1478 029E 00B4 02B2 C090A380 55"}}
16:51:30 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:30","RfRaw":{"Data":"AA B1 03 00FA 0258 0258 281818 55"}}
16:51:30 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:30","RfRaw":{"Data":"AA B1 03 0244 010E 0244 28181909 55"}}
16:51:30 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:30","RfRaw":{"Data":"AA B1 04 140A 024E 010E 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:31 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:31","RfRaw":{"Data":"AA B1 04 0212 0136 00DC 0258 38181A0A 55"}}
16:51:31 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:31","RfRaw":{"Data":"AA B1 03 023A 0122 024E 28181909 55"}}
16:51:32 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:32","RfRaw":{"Data":"AA B1 04 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:32 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:32","RfRaw":{"Data":"AA B1 03 0244 010E 0244 28181909 55"}}
16:51:33 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:33","RfRaw":{"Data":"AA B1 04 1414 0258 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:33 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:33","RfRaw":{"Data":"AA B1 03 010E 0244 024E 281818 55"}}
16:51:33 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:33","RfRaw":{"Data":"AA B1 03 0244 010E 024E 28181909 55"}}
16:51:33 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:33","RfRaw":{"Data":"AA B1 04 1414 024E 010E 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:34 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:34","RfRaw":{"Data":"AA B1 03 023A 0118 0244 28181909 55"}}
16:51:35 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:35","RfRaw":{"Data":"AA B1 04 1414 024E 010E 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:35 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:35","RfRaw":{"Data":"AA B1 03 0244 0118 0244 28181909 55"}}
16:51:36 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:36","RfRaw":{"Data":"AA B1 04 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:36 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:36","RfRaw":{"Data":"AA B1 03 023A 0118 0244 28181909 55"}}
16:51:37 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:37","RfRaw":{"Data":"AA B1 04 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
16:51:38 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:51:38","RfRaw":{"Data":"AA B1 03 023A 0122 024E 28181909 55"}}

I got the most common code:
{"RfRaw":{"Data":"AA B1 04 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55"}}
And converted it using the Online Tool to:

AA B0 4C 04 08 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55

I tried sending via console the command:
rfraw AA B0 4C 04 08 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55
But nothing happens, the shade won't move. I only get this message at the console:

16:57:18 CMD: rfraw AA B0 4C 04 08 1414 024E 0118 1428 38192A192A1A1A19292A19292A1A19292A1A192929292A1A19292A1A1A19292A192A1A1A1A1A1A1A192A1A1A1A1A1A1A1A1A1A192A1A192A1A192A1A192A1A1A1929 55
16:57:18 RSL: stat/tasmota_C23443/RESULT = {"RfRaw":"ON"}
16:57:18 RSL: tele/tasmota_C23443/RESULT = {"Time":"2021-01-19T16:57:18","RfRaw":{"Data":"AAA055"}}

Am I missing something? Are there any additional configuration that must be done for it to work? Any tips on what I might try next?

@peterchs
Copy link

Which portisch rf bridge firmware are you using? Know tasmota repo had old version which didnt work for some devices. This is where to get latest: https://github.com/Portisch/RF-Bridge-EFM8BB1/releases

Failing that try converting some of the other codes you received? Or try the ones mentioned in this issue above if you havent?

@rrlevy
Copy link

rrlevy commented Jan 19, 2021

I used the version from Tasmota repo, but it seems to be the same as the latest Portisch:
The file name I used was RF-Bridge-EFM8BB1-20190220.hex and the date matches the latest version.

I tried the other codes, too... But the big one I used are more in line with what is expected for this kind of remote, I guess.

@peterchs
Copy link

peterchs commented Jan 19, 2021

Give the release 0.4 hex from https://github.com/Portisch/RF-Bridge-EFM8BB1/releases/download/0x04/RF-Bridge-EFM8BB1.zip a go - I diff-ed it and the tasmota version (https://github.com/arendst/Tasmota/blob/development/tools/fw_SonoffRfBridge_efm8bb1/RF-Bridge-EFM8BB1-20190220.hex) and they do differ even though they are seemingly the same date.

@rrlevy
Copy link

rrlevy commented Jan 19, 2021

I'll try that later today!

I just checked the version by typing rfraw 255 and it tells me it's version 03:
{"Data":"AA0355"}

@rrlevy
Copy link

rrlevy commented Jan 19, 2021

No luck...

I flashed the new firmware from Portisch repo, but nothing changed.

Even the version number shown with rfraw 255 is still AA0355, but I looked it up and it seems to be an issue with the release anyway.

But the new version also didn't work, same behavior.

I tried all codes that I get when listening (event the short ones), and none of them work...

@peterchs
Copy link

Oh well.. no other ideas here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants