I recently found this set at reichelt.de:
The battery-powered receiver is a bit large and ugly (10×13 cm), but what I was after were the measurement units, which transmit wirelessly on the 433 MHz band, using OOK.
That was a good reason to dust off the ookScope project and adjust them to work with the latest Arduino IDE (sketch) and JeeMon (script).
Here is the result after over 1,000,000 pulses:
This is a histogram with counts on the horizontal axis and pulse widths on the vertical axis. Both are scaled in a somewhat peculiar logarithmic’ish way, but the main info is on the bottom status line: the packets contain 360 pulses (i.e. bit transitions) with maximum counts at pulse widths of 184, 360, and 460 µs.
I used very specific settings and thresholds to single out these packets:
So it only picks up packets with 360..362 bit transitions, and ignores all pulses under 40 µs (10 x 4 µs).
The two longer pulse widths might be the same “long” pulse, depending on whether that pulse comes after a short or a long pulse. Here are the first few pulse widths of a quick burst of packets (ignore the P and first int):
There’s clearly a pattern. If I apply the following translation:
- pulse < 260 -> display as “-“
- pulse 260..411 -> display as “.”
- pulse > 411 -> display as “|”
… then this comes out (this is one long line, wrapped every 80 characters):
So it looks like there are short (< 260 µs) and long (> 411 µs) pulses, with always a pulse in the range 260..411 µs in between them. And if those dots contain no extra information anyway, then we might just as well omit them:
That leaves 181 bits of “data”, presumably. If I drop all packets which don’t end up with exactly 181 dashes and pipe symbols, then it turns out I get just a few patterns – here’s a group which changes halfway down, if you can spot the difference:
But there’s still too much regularity here, IMO. Note that there’s not a single run of three _’s or |’s in there (other than at the start of the line). In fact, all these are either _|’s or |_’s, back to back. So it looks like there are not 2 transitions per data bit, but 4. Let’s reduce the output further. I’ve replaced _| by “0” and |_ by “1” (assuming there are more 0’s than 1’s). I’ve also removed all duplicate lines, and inserted a count of them at the front:
Note the alternation of 1110 and 0001 in these lines. My hunch is that it’s a slowly varying measurement value, overflowing from 7 (binary 0111) to 8 (binary 1000). This would indicate that the bit order is low-to-high.
Note also that further down the packet, the bit pattern flips from 10 to 01, which is a difference of 1 in binary terms. That’s probably a checksum, and it’s not using exclusive or (since 4 bits have changed) but simple byte-summing. Furthermore, the checksum is 40 bits to the left of the changed value, so there are either 5 bytes from value to checksum, or 8 nibbles-plus-guard-bit units. Let’s try grouping them both ways:
There is no load right now. The 8-bit grouping is interesting, because then the value alternates between 231 (0b11100111) and 232 (0b11100100) … could this be the line voltage?
Tomorrow, I’ll continue this exploration – let’s see if the data can be extracted!
Very nice reverse engineering work there JC.
I wonder if this device is available with a “real” 13A socket on it? ;-)
Nice work!
Too bad these units are still a bit expensive. I’d love to see one in the range of 10 euro’s a piece…
T & M: it’s never good enough for ya, eh? And I felt so proud of my progress! Oh, well ;)
Well, I my defence, I started with “Nice work! ” ;-)
And mine too!
I just wish you Europeans would follow standards :o)
Nice work.
Could you try this one ( http://www.pollin.de/shop/dt/MTk2OTYxOTk-/Messtechnik_Uhren/Messtechnik/Sonstige_Messgeraete/Funk_Energiekosten_Messgeraet_EMR7370.html ) next?
It’s only 24.95 and extra senders are only 10.95 (http://www.pollin.de/shop/dt/MDk2OTYxOTk-/Messtechnik_Uhren/Messtechnik/Sonstige_Messgeraete/Funk_Zusatzsender_EMT7110.html)
:)
No clue how they transmit their data though.
Interesting. It’s 868 MHz, which is stricter than 433, so presumably they won’t waste as much bandwidth. No way to tell what / how / when they send without getting a set. I’ve added them to my wish list :)
Also interesting because of the low price are these 433MHz switches.