bkbartk / RF-Bridge-EFM8BB1

clone from https://github.com/Portisch/RF-Bridge-EFM8BB1
11 stars 0 forks source link

Byron doorbell pushbutton DBY-23510 raw data detected, can it be added to the firmware? #2

Open askmurphy opened 2 years ago

askmurphy commented 2 years ago

Latest firmware used?

Yes: Portisch Keil 8051 v9.53 / Tasmota 10.1.0 / Sonoff RF-Bridge mode

Information

What device you try to sniff data from? Description? Brand and type? It's a Byron doorbell set:

Sniffed data

rfraw 0xB1 and one press on the button gives this result:

16:08:22.504 MQT: tele/Sonoff_RF_bridge/RESULT = {"Time":"2022-01-24T16:08:22","RfRaw":{"Data":"AA B1 03 0618 01F4 1C20 281909081909081908181908181818190819090909081908181819081909081819 55"}} 16:08:22.947 MQT: tele/Sonoff_RF_bridge/RESULT = {"Time":"2022-01-24T16:08:22","RfRaw":{"Data":"AA B1 03 0622 01EA 1C02 081909081909081908181908181818190819090909081908181819081909081819 55"}} 16:08:23.170 MQT: tele/Sonoff_RF_bridge/RESULT = {"Time":"2022-01-24T16:08:23","RfRaw":{"Data":"AA B1 03 0622 01E0 1C0C 081909081909081908181908181818190819090909081908181819081909081819 55"}} 16:08:23.390 MQT: tele/Sonoff_RF_bridge/RESULT = {"Time":"2022-01-24T16:08:23","RfRaw":{"Data":"AA B1 03 0636 01EA 1BF8 281909081909081908181908181818190819090909081908181819081909081819 55"}}

Just tried something with the above data following https://github.com/Portisch/RF-Bridge-EFM8BB1/wiki/Decode-0xB1-sniffed-data, the results;


"RfRaw":{"Data":"AA B1 03 0618 01F4 1C20 281909081909081908181908181818190819090909081908181819081909081819 55"}} 0xAA uart sync init 0xB1 uart command 0x03 number of buckets 0x06, 0x18 Bucket 0 length: 1560µs 0x01, 0xF4 Bucket 1 length: 500µs 0x1C, 0x20 Bucket 2 length: 7200µs 281909081909081908181908181818190819090909081908181819081909081819 RF data received (high/low nibbles denote buckets and high/low marking) 0x55 uart sync end

"RfRaw":{"Data":"AA B1 03 0622 01EA 1C02 081909081909081908181908181818190819090909081908181819081909081819 55"}} 0xAA uart sync init 0xB1 uart command 0x03 number of buckets 0x06, 0x22 Bucket 0 length: 1570µs 0x01, 0xEA Bucket 1 length: 490µs 0x1C, 0x02 Bucket 2 length: 7170µs 081909081909081908181908181818190819090909081908181819081909081819 RF data received (high/low nibbles denote buckets and high/low marking) 0x55 uart sync end

"RfRaw":{"Data":"AA B1 03 0622 01E0 1C0C 081909081909081908181908181818190819090909081908181819081909081819 55"}} 0xAA uart sync init 0xB1 uart command 0x03 number of buckets 0x06, 0x22 Bucket 0 length: 1570µs 0x01, 0xE0 Bucket 1 length: 480µs 0x1C, 0x0C Bucket 2 length: 7180µs 081909081909081908181908181818190819090909081908181819081909081819 RF data received (high/low nibbles denote buckets and high/low marking) 0x55 uart sync end

But the next step is unclear for me, I hope you can add this to the firmware ;-)

Thanks ! Regards, ;-) Arthur

bkbartk commented 2 years ago

Hello, thank you for your issue, first I want to state that I'm not the author of portisch firmware, I only took the liberty to create some fixes which I encountered using my byron doorbell.

I added some information to the manual https://github.com/bkbartk/RF-Bridge-EFM8BB1 so you have an example about how to implement.

if you have any questions, don't hesitate to ask.

askmurphy commented 2 years ago

Hello,

thank you for your issue,

first I want to state that I'm not the author of portisch firmware, I only took the liberty to create some fixes which I encountered using my byron doorbell.

I added some information to the manual

https://github.com/bkbartk/RF-Bridge-EFM8BB1

so you have an example about how to implement.

if you have any questions, don't hesitate to ask.

I understand, are you Dutch? (Ik ook). You added some code to the Portisch firmware, i can add code and compile it now but I don't understand i must do after the timing things I calculated above. As you see above i get different raw info, with small timing variety. Can you tell me what must be added to the firmware? Would be great!

bkbartk commented 2 years ago

Hello,

yes I'm dutch,

I'm not sure I understand the issue, you are talking about a timing issue. and yes the string defers a little bit, this is why I only grep the 7th element, the long one, and strip the rest. then there are still 4 different signals you need to handle.

I have connected all my tasmota devices to home assistant, and ha can trigger some kind of action when the doorbell gets sniffed.

not sure what platform you are using, my sample is for HA. And when connected to that, the 433mhz bridge sends the raw data via MQTT

askmurphy commented 2 years ago

I am using HA too ;-) You didn't add your doorbell to the firnware? There is a Byron doorbell setup inside the firmware.. I want to try to add my doorbell to the firmware, What have you done with this firmware, no devices added? (like your doorbell) ?

bkbartk commented 2 years ago

I couldn't get this included setup to work with my doorbell, I think it does not support all models. I actually think raw mode is better is every scenario. The issue I had with the original firmware is that there are a few bugs in it which made the bridge crash and stop sniffing on a weekly basis. that's basically what I tried to fix. And since then it only stopped sniffing once over the last 10 months. when it stops sniffing, you need to unpower, restarting tasmota does not restart portish.

askmurphy commented 2 years ago

My Byron doorbell works now, using the example above ;-)

But: I am trying to do the same with a somfy remotecontrol, but no succes yet. I get RAW data, but in HA I can't connect it to a boolean like the doorbell.

I get this RAW data when I press a button on the remote control:

16:55:05.882 MQT: tele/Sonoff_RF_bridge/RESULT = {"Time":"2022-01-30T16:55:05","RfRaw":{"Data":"AA B1 05 09EC 1298 04C4 024E 7AF8 480808080808092A2A3B3B2B3B3A2B3B3A2A2A2A2A2A3B2A3B2B3B3A2B3B3A3B2B3B3B3A3B2A3B3B3B2A2B3B3A2B3B 55"}} 16:55:06.292 MQT: tele/Sonoff_RF_bridge/RESULT = {"Time":"2022-01-30T16:55:06","RfRaw":{"Data":"AA B1 05 09EC 128E 04C4 024E 7ADA 080808080808092A2A3B3B2B3B3A2B3B3A2A2A2A2A2A3B2A3B2B3B3A2B3B3A3B2B3B3B3A3B2A3B3B3B2A2B3B3A2B3B 55"}} 16:55:06.704 MQT: tele/Sonoff_RF_bridge/RESULT = {"Time":"2022-01-30T16:55:06","RfRaw":{"Data":"AA B1 05 09F6 1298 04C4 0258 7AEE 480808080808092A2A3B3B2B3B3A2B3B3A2A2A2A2A2A3B2A3B2B3B3A2B3B3A3B2B3B3B3A3B2A3B3B3B2A2B3B3A2B3B 55"}}

I have used this to get the data:

sensor:

Split()[8] instead of 6: this because there are 2 extra buckets.

I see the data in HA, but the boolean is not responding... Maybe the data is too long? With this somfy, I get 4 - 5 different RAW data lines..

Can you help? Would be nice if this can be fixed too..

Something else: would be nice if the SONOFF could send the normal data AND the RAW data (if normal data can be determinated).. Now you have to make a choice..

bkbartk commented 2 years ago

not sure why your sensor won't work, I think it should according to what I see, maybe you need to restart HA if you haven't done that yet.

I know it would be nice to have it both ways, but that would be a major change of code, And I don't have the time to make those changes. I'm hoping someone else will.