433MHz Doorbell with piezo button

Hello there,

so i am having quite a hard time figuring this out and would like a different perspective.

tl;dr: catching all 433MHz signals when door button is pressed and reproducing those signals with esp does not trigger the chime. Question: is esp config incorrect or uses the bell a sort of rolling code, which means exactly reproducing code does not work

So my current setup: A piezo doorbell with a receiver that is plugged into mainline power that chimes when the button is pressed (so far so easy, similar to this aliexpress listing). Since the button is piezo i am guessing there will not be enough power for any kind of (complicated) logic. But: The receiver can be paired to different buttons, which indicates there is probably some logic within the receiver and not just a simple hardcoded content it responds to.

So i tried and setup my ESP32 to receive signals, saved the dump for a time period of 2 seconds before and after i pressed the button. Unfortunately the output for 433MHz is very noisy for my place, so no chance seeing just with the eyes which could be the bell.
So i copied all of that codes into the transmitter one after the other but none of those triggered the bell.
After trying for dump:all i did the same for dump: raw for which you will find the config and output down below.
Afterwards i also tried the receiver config by lordzit from this thread here on the forum. But that gave me no output at all.

The hardware is the standard 433MHz receiver, transmitter pair with an esp32, which i am pretty sure is setup correctly. So there might be a an issue with the config.
For example after pressing the button i dont get a confirmation by the remote_transmitter in the logs, so maybe im just not sending the signal?

Another guess would be that maybe the piezo sends a sort of rolling signal so counting up one until 255 and then going back to 0 and pairing might work by the bell accepting the next signal and then just rolling with it. Unless you try pairing more than 100 bells within range of each other this might work quite well and is easy to implement.

I am very interested if anyone got a similar piezo doorbell working or if anyone sees the issue with my approach :slight_smile:

Receiver config:

remote_receiver:
  rmt_channel: 2
  pin: GPIO01
  #dump:all
  dump: raw

Transmitter config:

remote_transmitter:
  pin: GPIO09
  carrier_duty_percent: 100%
  rmt_channel: 0

button:
#### RC Switch Raw
  - platform: template
    name: RF Button
    on_press:
      - remote_transmitter.transmit_raw:
         code: [-156, 3342, -201, 265, -183, 777, -303, 4326, -126, 911, -173, 2120, -125, 89, -465, 415, -157, 1790, -604, 129, -276, 1032, -877, 106, -600, 198, -63, 123, -290, 55, -90, 188, -707, 90, -1731, 428, -509, 422, -595, 120, -550, 243, -202]

My dump for the current version looks like this:

[10:24:18][I][remote.raw:041]:   -2326, 84
[10:24:19][I][remote.raw:041]: Received Raw: 272
[10:24:19][I][remote.raw:041]: Received Raw: -3789
[10:24:19][I][remote.raw:041]: Received Raw: -193, 159
[10:24:19][I][remote.raw:041]: Received Raw: 4475, -3599
[10:24:19][I][remote.raw:041]: Received Raw: -122, 833, -198, 9405, -171, 212, -194, 84, -318, 968, -187, 700, -55, 516, -62, 395, -421, 645, -644, 377, -192, 208, -303, 698, -145, 589, -738, 222, -943, 219, -2099, 73, -492, 180, -539, 171, -7997, 186
[10:24:19][I][remote.raw:041]: Received Raw: -3798
[10:24:19][I][remote.raw:041]: Received Raw: -3790
[10:24:19][I][remote.raw:041]: Received Raw: -3711
[10:24:19][I][remote.raw:041]: Received Raw: -3732
[10:24:19][I][remote.raw:041]: Received Raw: -684, 146
[10:24:19][I][remote.raw:041]: Received Raw: 4564, -4576
[10:24:20][I][remote.raw:041]: Received Raw: -3752
[10:24:20][I][remote.raw:041]: Received Raw: -3828
[10:24:20][I][remote.raw:041]: Received Raw: -42, 715
[10:24:20][I][remote.raw:041]: Received Raw: 7201, -3639
[10:24:20][I][remote.raw:041]: Received Raw: -3710
[10:24:20][I][remote.raw:041]: Received Raw: -15, 350, -148, 6141, -245, 718, -193, 1002, -67, 744, -107, 377, -162, 825, -481, 2297, -130, 987, -62, 339, -236, 610, -1559, 174, -988, 125, -381, 170, -1288, 336, -1249, 71, -2497, 84, -2624, 329, -4021, 117, -2518, 94
[10:24:20][I][remote.raw:041]: Received Raw: -3764
[10:24:20][I][remote.raw:041]: Received Raw: -3712
[10:24:20][I][remote.raw:041]: Received Raw: -588, 237
[10:24:20][I][remote.raw:041]: Received Raw: 2380
[10:24:20][I][remote.raw:041]: Received Raw: 6242
[10:24:20][I][remote.raw:041]: Received Raw: 9611, -3638
[10:24:21][I][remote.raw:041]: Received Raw: -3740
[10:24:21][I][remote.raw:041]: Received Raw: -552, 163
[10:24:21][I][remote.raw:041]: Received Raw: 3772, -3696
[10:24:21][I][remote.raw:041]: Received Raw: -3722
[10:24:21][I][remote.raw:041]: Received Raw: -4448
[10:24:21][I][remote.raw:041]: Received Raw: -3719
[10:24:21][I][remote.raw:041]: Received Raw: -56, 512
[10:24:21][I][remote.raw:041]: Received Raw: 9593, -3649
[10:24:21][I][remote.raw:041]: Received Raw: -7282
[10:24:21][I][remote.raw:028]: Received Raw: -211, 1720, -286, 1243, -51, 1075, -71, 302, -106, 188, -204, 1237, -60, 908, -202, 742, -179, 76, -198, 879, -825, 1185, -631, 87, -411, 91, -559, 473, -117, 277, -194, 244, -391, 487, -403, 553, -277, 86, -415, 224, -6758, 74, -5691, 259, 
[10:24:21][I][remote.raw:041]:   -11212, 184
[10:24:21][I][remote.raw:041]: Received Raw: -4688
[10:24:22][I][remote.raw:041]: Received Raw: -3704
[10:24:22][I][remote.raw:041]: Received Raw: -37, 603
[10:24:22][I][remote.raw:041]: Received Raw: 4895, -4662
[10:24:22][I][remote.raw:041]: Received Raw: -3724
[10:24:22][I][remote.raw:041]: Received Raw: -669, 71

And the output for the transmitter looks like this:

[11:38:06][D][button:010]: 'RF Button' Pressed.
[11:38:09][D][button:010]: 'RF Button' Pressed.

Maybe you should move your setup to a place there are not other signals around.
If you are not able to receive repeatedly solid signal, your changes are quite low.

You have incorrect indentation for line
code:

One thing you would have to consider is what form of modulation it’s using , Analog or Digital. Probably digital but then is it?
Amplitude Shift Keying (ASK)
On-Off Shift Keying (OOK)
Frequency Shift Keying (FSK)
Phase Shift Keying (PSK)
Using an RTL-SDR and using the universal radio hacker program you will be able to get some info about the signal but getting that signal to trigger your esphome device may be very difficult or even impossible with your standard RF receiver.
The sender probably has reasonable power. It’s unlikely to be using rolling codes for a doorbell as not necessary.
You already have a receiver that detects it (the one it came with). I think the best shot would be to hack that.

Another vote for this.