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:

MosquittoArduino IDE latest version (tested ok with 1.6.10)esp8266 board added to t…

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 date info about OpenMQT…

Adding infrared emitter to SONOFF RF BRIDGE

With the add of  SONOFF RF Bridge  to the OpenMQTTGateway compatibility list we were able to send and receive 433mhz by MQTT. 
The interesting thing with OpenMQTTGateway is the ability to have on one board several gateways (RF, IR, BLE and more to come ;-). 

The last versions of SONOFF RF BRIDGE as two IO free pins, why not using these pins to add a new gateway to this little cheap device and control more devices.



If we follow the interest of the different gateways you are more interested on RF and after comes IR infrared.

My choice came in this case to add an infrared emitter to the RF Bridge, with this gateway we are adding the capacity of controlling TV, DVD, hifi...

On the hardware side, I followed the same schematic for IR setup with ESP8266 with just a little add a protection resistor of 1K for the IR led.
The other resistor is connected between the transistor base and IO5 of the RF Bridge instead of D0.
The IR led is powered by the 3,3V of the Sonoff RF Bridge.

The schema:


Here is how i…