Guide: how to make a cheap Byron doorbell smart

I recently bought a cheap Byron doorbell at Gamma and managed to make it smart, using a Sonoff RF Bridge. I want to give something back to the community, so here’s how I did it.

  1. Install Tasmota on the Sonoff RF Bridge using the instructions provided by Tasmota
  2. Install Portisch firmware on the Sonoff RF Bridge RF chip using the instructions provided by Tasmota
  3. When that’s done, issue rfraw 177 and press on the doorbell button. In the Tasmota logs, you will see a long string pop up: e.g.

20:57:27.824 RSL: RESULT = {"Time":"2024-06-22T20:57:27","RfRaw":{"Data":"AA B1 00 0123 00A1 0E00 01230123012301230123012301230123012301230123012301 55"}}

  1. In Home Assistant, install the official Mosquitto server add-on.

  2. Configure the MQTT settings in Tasmota. In the User / Password field, enter the Home Assistant credentials, otherwise Tasmota might not connect to your MQTT server.

  3. In configuartion.yaml, add this MQTT switch:

mqtt:
  switch:
    - name: "Door bell"
      unique_id: "Door bell"
      state_topic: "tele/doorbell/RESULT"
      command_topic: "cmnd/doorbell/RESULT"
      value_template: "{{value_json.RfRaw.Data.split(' ')[6] | length}}"
      optimistic: true
      payload_on: "50"
  1. Finally, add an automation to send a notification to your phone whenever Door bell is toggled, and have it turn off the switch too after a delay of a few seconds.

  2. Add a startup rule to Tasmota:

Rule1 ON system#boot DO rfraw 177 ENDON
Rule1 ON

There might be better / smarter ways to do this, I’m always willing to learn so let me know if you know such a way. Also I’m very interested in dropping Tasmota in favor for Esphome so if you found a way to do the same on Esphome, let me know.

trigger:
  - platform: mqtt
    topic: tele/doorbell/RESULT
    payload: whatever it is
    value_template: "{{ value_json.data }}"

You can make it a little simpler by not even having to use RfRaw and just using the mqtt message as a trigger in a notify automation so not having to create a switch entity.

1 Like