Sniff 868 Mhz or SWD to make thermostat smart

Hi,
I have a wireless thermostat that is composed of two part:

  • The termostat itself with the temperature sensor and where I can set the desired temperature

  • A receiver connected to the fireplace NC contact

The two components communicates with 868Mhz RF Signal.

I want to make it smart by inserting a ESP8266 that can send the 868 Signals to the receiver or viceversa.

I opened the two components and what I see ( attached pictures) is a Si4432 component on the thermostat and also on the receiver. On receiver there are also some pins ( VCC, RX, TX, GND and VCC, SWDAT, SWCLK, GND ).

Do you think it is possible to understantd what the two component send each other by using a Si4432 connected to an arduino?
Or is possible to use the pins connected to a sarial port in PC (or a Serial to USB converter) to read some logs etc??

Thanks


Why not just connect to it and try?

What is your electronics and computer experience? This is a "reverse engineering" task of the highest level.

1 Like

Ok but what I have to do? Can I use a USB to TTL? but what Speed?

Ok , I must understant the protocol used to read data?

Yes, and that is why I asked about your skill level. Because, it is almost certainly complex and undocumented.

Your post #4 tells me you are not ready for this. Do you think anyone here would know the speed? You just have to try them all. It looks like a digital level (TTL) interface, but even that isn't certain.

Watching this thread will be too painful so I'm out, good luck with your project.

Ok I will try.
And eventually the way to read the RF data is better?

The chip ref material is here: Si4432 - Silicon Labs (silabs.com)

But, I honestly do not think that hacking away to connect ESP8266 WiFi is "smart" ... just my opinion.

Why do you think is not smart? I want to make it smart by adding the possibility to control desired temperature over Internet this is what I mean with smart

Oh, I understand, but implementing a home-control system over the Internet means you must open (forward) one or more ports on your residential router. This open port is a security risk. Then... a software "bug" in your code could either cause the heating system to run continuously or not at all: hopefully the manufacturer's safeguards will "kick-in" is the thermostat "hangs."

Building electronic projects and coding same when introduced into home heating/cooling is likely to void any warranties and maintenance agreements. Further, if your contraption causes physical damage to your home (frozen pipes come to mind) then your home-owner's insurance could reject any claims.

Anyway, you and others should be aware that modifying or hacking into residential systems can cause significant damage and may even violate some laws: do you have a low-voltage wiring license?
For U.S.A. Low Voltage License Requirements by State – Low Voltage Nation

Ok thanks now I understand what you mean.
In my case is a bit different, I not open ports but I use home assistant with a VPN.
There is no risk to damage nothing because the pellet stove I control with this thermostat has a self control circuit and the thermostat contact is used just to power on or off the water pump for radiators, but in case it not works the stove control unit block this pump.

So do please can you say me a good starting point to start with a Si4432 and an Arduino Uno?

The Si4432 uses 3V logic levels. Hooking it up to an Uno requires a level shifter. The ESP would work without one.

For a start I would hook up a logic analyzer to the SPI port of the Si4432 and sniff the communication between the CPU and the chip. The datasheet should show you what to expect on nSEL, SDI, SDO, SCK and nIRQ.

This should give you how the Si4432 is configured and what data is send over to the other device.

Thankyou for answer.
So the way is not to sniff the RF signals with another Si4432 but instead use a logic analyzer?
Please can you indicate me an hardware and software to do this?
Thanks

I think you missunderstand.

A logic analyser will not be able to see the RF signals from an Si4432 module.

What you are attempting to do is by no means easy, so can you tell us what experience do you have with Arduinos and RF devices at packet level and this does sound like an advanced level project ?

I have used the Si4432 for some 'advanced' projects in the past and its not the easiest of devices to work with.

Yes, its far easier to sniff the SPI communication than the RF.

You could take a look at the 8 channel Saleae clones and Sigrok.

@gfucka

I think you have chosen too difficult a task to start with.
To make it clear the level of the task, it is much easier to assemble your own thermostat from scratch than to connect to a ready-made one.

Ok,
I will try to connect a USB to TTL to the thermostat RX,TX pin to understand if I can read something.
Otherwise, I'm thinking to do something similiar to attache image.

I want to use the 868Mhz RF Signal in case WiFi problems, so I want to use a Wemos D1 mini with a Relay Module which has as an input the receiver relay contacts and the output connected to the pellet stove.

The wemos relay must follow the input (receiver relay) but if I need I can override it by MQTT message to the wemos.

Do you think is a good way?

Anyone can say me if it can works?

What do you expect from the forum members? Do you expect them to assemble and test your design? That is all up to you. It's called EXPERIMENT! Try it and find the real answer.

I just write if someone has try it and can say me if it works good

The chances that someone who has tried exactly the same thing, and is reading this now, is very very close to zero.

You're performing reverse engineering. Do some experimentation and post the results, then people may have some insights.