pauln / esphome-linp-doorbell-g03

ESPHome custom component for linp-doorbell-g03
MIT License
44 stars 8 forks source link

Workaround for broken ESP chip (using an another ESP with RF 433 Mhz receiver as replacement) #27

Open pcmester opened 2 years ago

pcmester commented 2 years ago

Hi there! Unfortunately, I broke the ESP chip on the board while soldering the UART connections for an OTA capable firmware update, and now the ESP pins are grounded and broken, no sign of life from it. I think the doorbell chip still works, but there isn't any understandable serial communication from that either, just the blue light flash while turning on.

My idea is that I can use a seperate ESP32 or even an 8266 with an RF 433 Mhz receiver to catch the doorbell button's signal, and then, use it as a trigger in Home Assistant for an automation. Is that possible? Could you please help me with that? (for example, what RF 433Mhz receiver can I use, and how should I configure ESPHome to catch the button's signal).

Thank you very much!

pauln commented 2 years ago

There's a new version of the doorbell base unit which interfaces the ESP32 directly with the RF receiver and doorbell chime chip, which I've written an ESPHome remote protocol decoder for - see my g04 repository for that (and a protocol for talking to the doorbell chime chip, though I'm not sure if it's compatible with the chime chip in the g03 model).

If you have a 433MHz OOK RF receiver which works similarly to the CMT2217B (outputting the demodulated signal on a pin), you should be able to configure a remote receiver with the linptech_g6l protocol from my g04 repo to detect the button presses. Since I've developed the protocol decoder on the g04 hardware, it's probably best to at least start with an ESP32 (which has a built-in remote decoder peripheral which the ESP8266 doesn't have) - but if that works, you could definitely try it on an ESP8266. I'd be interested to know how that goes, as I've been thinking about building a minimal ESPHome device to act as a general RF receiver (as I don't really want the original doorbell chimes - I'd rather have custom notifications via Home Assistant - so I don't need the original base station).

pcmester commented 2 years ago

That's a great idea! I have tried something simliar but completly different before the ESP firmware came out. I have used the doorbell chip's serial communication via USB to serial to integrate it with HA, and then built some automations to use external notifications.

Unfortunately, I don't have an RF receiver, so I would like to buy one. I am not an RF expert, so it is quite difficult. I have found this one: https://www.ebay.com/itm/284123740553 Maybe this is right for the job?

pauln commented 2 years ago

I don't think that one would work with the ESPHome remote receiver, as it seems like a more fully featured transceiver which is intended to be configured to do the decoding as well as the demodulation, and give you nice serial data packets. It's almost certainly capable of receiving the doorbell button transmissions, but you'd need to figure out how to configure it to do so.

I think that the "SYN480R" ASK/OOK receiver modules which can be found on ebay for a couple of dollars each, or something else along those lines, would would with the ESPHome remote receiver and the protocol decoder in my g04 repository - noting that you might need to buy or make a suitable antenna unless you can find a module which comes with one.

pcmester commented 2 years ago

Thank you! Sorry for the late response. I have ordered one and I will try it with that.

pcmester commented 2 years ago

Hi! I managed to get one and tested it several times but got no usable results. The received data is not coming into the log, not on wifi, not via serial. If I set the receiver to catch everything (with the "all" string), so not just the linp protocol messages, then I get something, but it is messy and feeds the log even when the receiver module is disconnected, so probalby just some glitch. I have also tried several ESP32 pins, but no success. What could went wrong?

pcmester commented 2 years ago

Is it possible, that the old doorbell uses an another protocol for RF communication, therefore the g04's protocol decoder is not able to capture it?

pauln commented 2 years ago

The old doorbell uses the same buttons - I've been using them interchangeably - so the RF protocol is the same. It might be that the module isn't detecting the transmissions clearly, in which case replacing the antenna on the receiver module might help (I hear that a 17.3cm long solid core wire works well for 433MHz). You could also try adjusting the filter and/or idle times (and maybe the tolerance) in the remote_receiver configuration, but I don't think you'll be able to change them much while staying within the limits of the protocol. I guess the ideal option would be to find a CMT2210LB module, since we know that it's able to receive/decode the transmissions (since it's the chip used by the doorbell) - but a quick search hasn't revealed any available (other than a wholesale listing on Alibaba).

If tweaking the configuration and/or replacing the antenna doesn't help, your simplest option might be to buy a new doorbell and then use the appropriate ESPHome component for whichever version you receive; your existing button(s) will work with either version.

pauln commented 2 years ago

@pcmester Was the RF receiver you got a SYN480R? I just realised that I have a couple of those which I bought some time ago and never got around to using, so I might try it out with one of those in the next couple of days and see whether I can get it to work.

pcmester commented 2 years ago

The old doorbell uses the same buttons - I've been using them interchangeably - so the RF protocol is the same. It might be that the module isn't detecting the transmissions clearly, in which case replacing the antenna on the receiver module might help (I hear that a 17.3cm long solid core wire works well for 433MHz). You could also try adjusting the filter and/or idle times (and maybe the tolerance) in the remote_receiver configuration, but I don't think you'll be able to change them much while staying within the limits of the protocol. I guess the ideal option would be to find a CMT2210LB module, since we know that it's able to receive/decode the transmissions (since it's the chip used by the doorbell) - but a quick search hasn't revealed any available (other than a wholesale listing on Alibaba).

If tweaking the configuration and/or replacing the antenna doesn't help, your simplest option might be to buy a new doorbell and then use the appropriate ESPHome component for whichever version you receive; your existing button(s) will work with either version.

Thank you, I will try to tweak it a little bit. I have not used an antenna at all. Could that be the problem? I hoped that if I am really close to the receiver for the initial testing, there is no need for that.

pcmester commented 2 years ago

@pcmester Was the RF receiver you got a SYN480R? I just realised that I have a couple of those which I bought some time ago and never got around to using, so I might try it out with one of those in the next couple of days and see whether I can get it to work.

Yes, I have ordered that one. That would be nice, thank you!

pcmester commented 2 years ago

Hi! I still couldn't get it to work. Any update on your side?

pauln commented 2 years ago

Sorry, my laptop died and I haven't quite got everything set up on the new one yet to get back into this. I did have a quick go at it on the old laptop before it went up in smoke, but I didn't have much luck either - I might have to crack out my oscilloscope to get a proper look at the SYN480R's output and see if it's actually able to cope with the short duration of the doorbell's pulses.

pcmester commented 2 years ago

Oh, that’s very unfortunate! Thank you!