smoke alarm – 433MHz RF sensor for Home Assistant & Sonoff RF Bridge

This smoke alarm piqued my interest as a way to create an smoke/fire alert when I might be elsewhere. It’s unbranded and labelled as “C50D/W (1527, can skip code)” which is discouraging, but it feels well made enough to explore its fitness for purpose. So below I’ll show the basics of how to integrate this within Home Assistant. As you’ll know, once you have a sensor responding in Home Assistant, you can trigger all sorts of notifications and escalate the alert to any degree.

You can get smoke alarms that work as a paired set – ie one sensor triggers the others. These may also use 433MHz RF and it’s worth a try to see whether they’ll work similarly to the CD50. You’re welcome to add your finds to the comments panel below.

“Google here! Don’t you know your house is on fire”

Disclaimer: The CD50D smoke alert runs on a 9v PP3/6F22 battery, and regardless of whether you use its RF alert it will emit a flashing light and a sound alert. This alert isn’t as loud as my regular smoke alarm devices but it’s possible to work round that with a home automation hub or Google or Alexa. I also use an RFlink receiver (project page) and, although Rflink is normally more reliable, I wasn’t able to create an RFlink sensor in Home Assistant at this time. BTW it would be wise to have multiple smoke sensors and not rely on any one of them.

in addition to the smoke sensor you’ll need:

  • Sonoff RF bridge; eWelink app; Sonoff custom integration (link to my project page) and Home Assistant running on eg a raspberry pi

and / or

  • Sonoff RF bridge flashed with Tasmota firmware plus MQTT add-on and Tasmota integration for Home Assistant running on eg a raspberry pi. See Tasmota RF Bridge (external link)

using Sonoff RF bridge and eWelink app – easiest process

The Sonoff RF Bridge is a small USB-powered box that responds to 433MHz RF signals and relays them over wi-fi to a Sonoff app called eWelink. You install the app and add a new device to pair the RF bridge to the app.

When the bridge shows up in the app, click to add (or pair) a new RF device. Choose ‘Alarm’ as the device type and now you have 30 seconds to press the central ‘test’ button on the smoke alarm. The smoke alarm will be added to list of Sonoff RF Bridge devices. You’ll want to rename it ‘smoke sensor’ or similar. When you press the ‘test’ button again, the app should record the event. Now’s a good time to ensure that your phone alerts you when this sensor is triggered.

Next you’ll need to integrate Sonoff devices with Home Assistant. The process will simplify over time but presently I must use HACS to add the Sonoff integration by AlexxIT on github (link above). When that’s done a new sensor will appear in Home Assistant’s entity list – its name will match whatever you called it (pic below).

Finally you’d be wise to go to Home Assistant > Settings > Automations and here create a new automation. The trigger will be the ‘smoke sensor’ state of ‘on’. The action will be a notification of your choice. I’d suggest you create something noticeable.

using Sonoff RF bridge flashed with Tasmota – long process

The Sonoff RF Bridge is a USB-powered box that responds to 433MHz RF signals. In the cause of gaining more control, the Tasmota project has created alternative software that replaces the software (firmware) inside the Sonoff bridge. The process for this is changeable so see this link for how to do that: Tasmota RF Bridge (external link). Look also for how to set up the MQTT add-on in Home Assistant to listen for messages from the Tasmota device you made.

When Tasmota has been set up, go to its IP address in your browser (eg http://192.168.1.37) and choose to see the ‘Console’. It’s here that RF messages in the air can be ‘seen’. Press the smoke sensor ‘test’ button and copy the line that immediately appears. If you see lots of signals, you may want to disable those devices (but if you see eg a neighbour’s weather station, you might return here to grab that data for free).

Tasmota console: in your browser or on your phone go to the IP address that you set for the Tasmotized Sonoff RF bridge

Now go to Home Assistant > File Editor > configuration.yaml and enter this code. Replace my payload with the DATA part of the line you copied.

# NOTE THIS LINE IN YOUR CONSOLE 12:57:37.687 MQT: rfsignal/tele/RESULT = {"Time":"2023-02-02T12:57:37","RfReceived":{"Sync":12460,"Low":450,"High":1240,"Data":"94B6C6","RfKey":"None"}}

# MY PAYLOAD CODE OF 94B6C6 IS FOUND IN THE TASMOTA CONSOLE AS "Data":"94B6C6"
Mqtt: 
  binary_sensor:
    
    - state_topic: "rfsignal/tele/RESULT"
      name: "smokealarm"
      value_template: "{{value_json.RfReceived.Data}}"
      payload_on: "94B6C6"
      payload_off: "94B6C6off"
      device_class: smoke
      qos: 1
      off_delay: 2400  

# THE OFF_DELAY IS THE TIME THAT THE STATE SHOULD REMAIN ON AFTER TRIGGERING. A LARGE NUMBER SEEMS WISER.

your sensors should appear in Home Assistant

Home Assistant is picking up my smoke sensor via a regular Sonoff RF sensor and eWelink and also via my second bridge which is a Tasmotized Sonoff RF bridge. I’ll use both of these to create an automation that sends on a notification. I will also use the Alexa app (which I’ve linked from Home Assistant) to send suitably annoying messages around the house.

Unfortunately RFLINK isn’t picking up this sensor – if it did I would almost certainly get a battery status sensor too. I’ve found a link to some further help with a deeper dive into how it works.

Leave a Reply

Your email address will not be published. Required fields are marked *