Accéder au contenu principal

NEW SONOFF RFR3 as a 433toMQTT gateway?

I had the occasion to test the new Sonoff rfr3.
This device is the evolution of the Sonoff RF basic.



The Sonoff RFR3 act as a relay, you power it with AC and you can pilot the relay with the app provided by Sonoff. But of course this it not my goal here.

warning DANGER OF ELECTROCUTION warning

Before digging into it. I warn you about the risk of manipulating high voltage devices. You have a risk of electrocution. If you don't have the competencies call an electrician.
Don't put in danger yourself, your entourage or your home.

The first thing to verify was to see if i can flash OpenMQTTGateway on it,
pilot the relay and check the buttons pushes.
Before unmounting the SONOFF you must disconnect it from AC.
As I have already done some flashing by FTDI I decided to reuse this method
(I didn't tried SonOTA).
There was no special issue encountered during the flashing process. 
You will find hereafter the platformio used for the flashing.


Platformio definition : 
[env:sonoff-basic-rfr3]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
${com-esp.lib_deps}
${libraries.rc-switch}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZactuatorONOFF="ONOFF"'
'-DZsensorGPIOInput="GPIOInput"'
'-DACTUATOR_ONOFF_PIN=12'
'-DGPIOInput_PIN=0'
'-DRF_RECEIVER_PIN=4'
'-DZgatewayRF="RF"'
'-DGateway_Name="OpenMQTTGateway_SONOFF_BASIC_RFR3"'
board_build.flash_mode = dout

The relay can be piloted by the following commands :
mosquitto_pub -t home/OpenMQTTGateway_SONOFF_BASIC_RFR3/commands/MQTTtoONOFF -m OFF
mosquitto_pub -t home/OpenMQTTGateway_SONOFF_BASIC_RFR3/commands/MQTTtoONOFF -m ON

And when you press the button you will receive the following mqtt state : 



We can see that the publication is made with json and with a simple LOW value, 
this can be configured in your platformio.ini file.
But this was not the goal of experimenting with the RFR3.
Indeed the interesting thing with this device is the 433mhz RF module on it.
From the photo velow you can see that Sonoff choose a SYN470 as the RF receiver: 


I never had the occasion to test this module with OMG, this was the occasion.
If we look at the datasheet we see that the module output its data from D0 pin.
Now we have to find a free pin on the ESP8285...
The following blog article give us a list of exposed and non exposed pins : 

After some tests here are the results
  • gpio 10 ko
  • gpio 9 ko
  • gpio 16 ko
  • gpio4 ok Houra!!
Unfortunately GPIO4 is not exposed on the board. We have to solder it directly on the esp8285...
Before that you have to cut the trace coming to the D0 of the SYN470 (see second picture below).

As the GPIO4 is on the ESP edge it can be done wioth some dexterity.
Be carefull on not bending the cable after the soldering this kind of pins are very fragile.



Once soldered we can now use the different RF libraries available
(rcswitch, newremoteswitch or pilight) with OMG and have a 433toMQTT gateway with a relay and a button integrated!

You can now receive signal from your remotes, door sensors, PIR, weather stations...



Ressources:

Commentaires

Posts les plus consultés de ce blog

433toMQTTto433 - Bidirectional ESP8266 NodeMCU gateway between RF 433Mhz signal and MQTT

The goal  is to act as a gateway between 433Mhz sensors and a MQTT broker or between the MQTT broker and 433Mhz actuators, It enables to: receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data  publish MQTT data to a different topic related to received 433Mhz signal  It can be an interesting part in an home automation system so as to interface sensors and actuators (wall sockets) with software like openhab . List of compatible sensors here The interest of putting this gateway to an ESP8266 and not on a raspberry pi is to be able to manage security actions at gateway level (power on a siren, cut power to certain devices) following RF data received by sensors without being dependent to the PI for security related actions. [EDIT] all infos are now centralized into  the github repository  take a look at it you will find up to date info about OpenMQTTGateway You need: Software: Mosquitto Arduino IDE latest version (tested ok with 1.6.10

Infrared IR, 433mhz and MQTT on ESP8266 bidirectional gateway OpenMQTTGateway

Following discussions on the home assistant forum people gave me the idea to add Infrared communication to the 433mhz gateway.  The goal is to act as a gateway between 433Mhz sensors, infrared remote controls and a MQTT broker or between the MQTT broker and 433Mhz actuators, infrared devices, It enables to: receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data  publish MQTT data to a different topic related to received 433Mhz signal  receive MQTT data from a topic and send infrared signal corresponding to the received MQTT data  publish MQTT data to a different topic related to received infrared signal  It can be an interesting part in an home automation system so as to interface sensors and actuators (wall sockets), your tv, home cinema, hifi ... with software like  openhab  or home assistant . List of compatible RF sensors here [EDIT] all infos are now centralized into the github repository  take a look at it you will find up to d

Get your BLE sensors data into Home Assistant in 5 minutes

You can now upload your board directly from the web browser!  So let's imagine you want to read data from a sensor like a Mi Flora, an LYWSD03MMC, a weight scale, or any other BLE sensor from this list  Plug an ESP32 dev board to your computer USB port Go to this website: https://docs.openmqttgateway.com/upload/web-install.html Select esp32dev-ble Click the install button Depending on your board you may have to press the BOOT button Choose the port that the ESP is connected to. Wait until the process is complete. Release the BOOT button That's it, OMG is now loaded into your ESP32 board without Arduino IDE, platformIO or a binary flasher. Here are the steps in images: Now comes the Home Assistant part: Add the MQTT integration and activate auto discovery Create a user and a password (Configuration->Users) without administrator right for the gateway Well, this is enough for Home Assistant. So let's now connect both: Check the Wifi Access points available with your smartph