Pre-Installation Question About RF Hardware

Hello! I’m sitting here with my new Raspberry-Pi kit ready to dig into setting up Home Assistant - and, I realize, I’m going to need some more hardware (I think). My primary reason for setting up an HA instance is to bring together some RF433 devices. I have a “dumb” drivewall alarm that sends a RF signal to a receiver to set off a sound; and I have about a dozen shades from different vendors that all require different hubs. When researching, looks like the Sonoff bridge was the way to go, but now - the feedback is that you can’t flash it with the “learn RF code” script? Could someone point me in the direction of some guidance regarding the best hardware to learn and repeat RF codes? I have a Broadlink RM Pro (several actually) which are great at learning remotes, but they do nothing for these shades or alarms. Thanks!

Hi,Sonoff is more or less a joke, especially R2. My 2 SDR radios confirmed the RF levels of Sonoff R2 compairing to RM4Pro are smaller.
I succeeded with RM4Pro Broadlink integration to get codes of my Dooya DC2700 433.92 MHz remotes and HA by simply integrating RM4Pro and use the service “Remote: Learn Command” from HA/Developer Tools/Services. Be careful, in Broadlink app unlock the remote you use for this. And the learning procedure once started must be done slowly, waiting for HA to notify you for the first key press and then the second one. RM4Pro LED is a good tip if command was acknowledged/learnt.
Go use broadlink, first because RF level is better. I use only one for 3 blinds in separate chambers, never had a missed command. BTW, Broadlink app miss commands from time to time…
When you learn each command, just select device with “Choose Device” button, put a name for your device (the RM4 remote you use), choose command name with simple description without special characters or numbers, choose RF as Command type and click Call Service, then follow Notifications.
Once learnt, each command (the detected code) appears in a file in /.config/.storage called broadlink_remote_…_codes. Use ssh to get them as File Editor is tricky, it’s hiding some folders. For SSH you can use the SSH & Web Terminal integration or just some ssh sw like mobaxterm putty etc
Just put the codes in scripts or automations and that’s it. Automations are my favourite, I raise for example all the blinds at some hour based on working days integration.

automation working example:

- id: '1670099202676'
  alias: Ridicare rulouri L-V 07:00
  description: ''
  trigger:
  - platform: time
    at: 07:00:00
  condition:
  - condition: state
    entity_id: binary_sensor.workday_sensor
    state: 'on'
  action:
  - service: remote.send_command
    target:
      device_id: a73332db6badc5ce678a997f2a1c50b4
    data:
      command: b64:here you put the code for the specific command you want
      device: RulouLiving
  - service: remote.send_command
    target:
      device_id: a73332db6badc5ce678a997f2a1c50b4
    data:
      command: b64:here you put the code for the specific command you want
      device: Ruloubucatarie
  - service: remote.send_command
    target:
      device_id: a73332db6badc5ce678a997f2a1c50b4
    data:
      command: b64:here you put the code for the specific command you want
      device: RulouDormitor
  - service: notify.notify
    data:
      message: 'Ridicare rulouri executată '
  mode: single

device_id is rm4pro id created by HA, just create an automation from Settings/Automations & Scenes pointing to the specific RM4Pro, save it and automation id is created by HA for the automation you did, then open again the automation in yaml and add the commands with learnt codes or whatever you want.
In my example I used also workday integration, configure this first in /config/configuration.yaml for example, add your birthday if you want as holiday :slight_smile: :

binary_sensor:
  - platform: workday
    country: RO
    workdays: [mon, tue, wed, thu, fri]
    excludes: [sat, sun, holiday]
    remove_holidays:
      - '2023-01-01'
      - '2023-01-24'
      - '2023-04-14'
      - '2023-04-16'
      - '2023-04-17'
      - '2023-05-01'
      - '2023-06-01'
      - '2023-06-04'
      - '2023-06-05'
      - '2023-08-15'
      - '2023-11-30'
      - '2023-12-01'
      - '2023-11-26'
      - '2023-12-25'

BR, Ovidiu

Thanks perieanuo! Appreciate the suggestion. I will play around with the Broadlink.