Why only the half part of a signal is necessary to turn on/off a remote controlled plug adapter?

Thread Starter

zerojk

Joined Jul 17, 2019
4
First of all, thank you for all your participation :D, I'm new here and I thought that may someone could help me with this "problem".

Some time ago I bought some plug adapters controllable through a control in the frequency of 433 Mhz.
(Typical that come with 4 units and with the control you choose whether to turn on/off the device A, B, C, D or all.)

Well, the fact is that I was investigating on the Internet to try to record the signal and be able to play it from a device type arduino / raspberry.
After searching, I found the following link:

https://github.com/sui77/rc-switch/wiki/Add_New_Remote_Part_1

Where they explain procedure and why it works that way...
From there I extracted that when a signal is sent from the control to the receiver, this signal consists of a synchrony bit (so that the receiver knows that it gets a signal that it must "understand") followed by a string of bits that tell it what to do (if this is not correct, please correct me).

Once I understood this, I set out to record my "A" device ON signal.
Effectively I could see the synchrony signal, followed by 24 bits with the information that should arrive to the receiver...but after preparing the script to send the signal, this didn't do anything...
I re-recorded the signal, and this time fixing myself with more detail, I saw that after sending 4 times the same pattern of 24 bits (preceded by its synchronization signal), this one sent another "kind" of synchronization signal followed by another 24 bits...
In other words, finally my sending signal of device A, is composed by:

part 1 -> (1 synchronization bit + 24 message bits)
+
part 2 -> (1 synchronization bit + 24 message bits)

(both different parts, of course..)

Now, by sending them two signals one after the other, device A turns on correctly :D

But...if I ONLY send the second part, it also turns on... <- This is my first question, why?

Once I got here, I thought about what could be happening, why did it work without sending the first part of the signal?

And I realized that these adapters are of "variable identification", that is:
When you plug in the adapter the first time, it flashes waiting to be "set" as device A, B, C, or D. So when you press ON or OFF on the remote, it is set as a device with that identification. This allows the devices not to be "pre-assigned" with a letter, so that when you plug it in for the first time, you can go assigning the identification to each one.

Well, this being so, I thought: The first part of the signal I'm sending has to be the identification of the device, that is, the signal being sent is saying:

synchrony + "THIS IS FOR THE DEVICE A" + synchrony + "TURN ON".

In this way only device A will be turned on...therefore...in the signal to turn device A OFF, part 1 should be the SAME as part 1 of the signal to turn device A ON.

But NO, the first part of the turn OFF device A signal does not match the turn ON signal...but equally, the second part of that signal turns off the device...

How is this possible? <- This is my second question...

I'm just an amateur and I can not think of anything to resolve these doubts, so I have found the forum and hope to elucidate a little of this issue ...

Many thanks in advance to all and a greeting! :D
 

Thread Starter

zerojk

Joined Jul 17, 2019
4
Hi Alec! thank you :D

Not, it isn't. I have the graphs in another computer, I will upload them in a few hours.

In fact this is that I cannot understand...for example, the sequence to turn ON the device A:
turn ON the device A ---v
{------------part 1----------------------------} + {--------------part 2------------------------------------}
sync + 100011101001101101011010 + anotherSync + 100011001000101001011010
sync + 100010101011001101011010 + anotherSync + 100010101010111001011010
turn OFF the device A ---^

I will record the signal for the B device and upload here to compare them, but it does not make sense that same device has different signals...
well, and the second part...why it works if I only send the "part 2" ??? XD

Thank you!
 

Alec_t

Joined Sep 17, 2013
10,470
It's probably irrelevant, but I see the last byte is the same in all four parts and the first nibble is too.

Edit:
If the data is MSB first, its hex equivalent (if it's of interest) is :-
On:
sync + 8E9B5A + sync + 8C8A5A
Off:
sync + 8AB35A + sync + 8AAE5A
 
Last edited:

BobaMosfet

Joined Jul 1, 2009
839
In order for you to understand what you're looking at, you have to know what signaling is being used. In this case, you're comms are at 433Mhz, so the length of time is what determines when a bit field starts and ends. You also have 'guard time' which is between symbols (what you're referring to as sync).

This looks like OOK, possibly with RZ. Each 'character' looks like 32-bits, with an 8-bit of that being guard time, and 24-bits being data, but we need to know the actual time it takes for the 32-bits to be pulsed, in order to determine the modulation.
 

Thread Starter

zerojk

Joined Jul 17, 2019
4
Hi, again guys!

I'm so sorry...this week has been crazy and I couldn't build again the sensors to get the signal graphs.

I've been working on it and I get the graph of the first signal that I mentioned before.

Alec_t, I'm sorry, I think that I didn't explain properly, my example codes were..examples, so they are not real ^^U...sorry for waste your time on it...

Here you have the real code for the signal ON for the device "A":

Sync1 + 100000000100010101000000 + Sync2 + 100011011110001001110000

The attached file is the real graph where I marked different status for each period.
On the other hand, you can see (BobaMosfet...good nick! hahaha), the times for 1 and 0. The pulse length is 1500 useconds (more or less), you can calculate it from the numbers in the graph.

I will record the second signal (OFF for the device "A") and you can see the differences...

By the way, I would like to point that only the second part is necessary to "execute" the command on the device.

Thank you!!
 

Attachments

Thread Starter

zerojk

Joined Jul 17, 2019
4
According to the previous response, I attach the another graph (Turn off the device A):

Code signal is:

SYNC + 100011111100010000010000 + SYNC2 + 100010011001101110010000.

The pulse length is the same, aprox. 1500 useconds.

So, summary:

Turn On Device A ---v

Sync1 + 100000000100010101000000 + Sync2 + 100011011110001001110000
Sync1 + 100011111100010000010000 + Sync2 + 100010011001101110010000

Turn Off Device A ---^

In both cases, only the second part is necessary to turn on or off the device...question is...what is the "reason" for the first part of the signal?!?! T_T

Thank you all again!!
 

Attachments

Top