magellannh / rpi_efergy Goto Github PK
View Code? Open in Web Editor NEWThis project forked from daveblackuk/rpi_efergy
RPI Efergy monitor
This project forked from daveblackuk/rpi_efergy
RPI Efergy monitor
I bought an Efergy e2 IR optical power meter (wireless transmission every 30s) a couple of days ago and received my R820T dongle two days ago. Installed and fired up rtl-sdr hoping Nathan's/Gough's c hack would just give me power readings right away. Didn't happen.
Once I found your contribution at the end of the comments on Gough's site I got my hopes up. After a bit of frequency tuning I finally got a validated preamble but still no successful readings. Just the same sequence of bytes.
09 33 64 40 00 00 00 00
I assumed that the pulses-to-bits-converion was ok since I got the same sequence over and over again. Started to get frustrated and increased the FRAMEBYTECOUNT to 19 (!) just to see if there were anything interesting further down and to my surprise I found some interesting data that varied with different power readings but was the same for specific readings.
Ex:
09 33 64 40 00 00 00 00 0a 0f bd 55 00 00 00 00 = 1199W
09 33 64 40 00 00 00 00 0b 0f 8e 64 00 00 00 00 = 1319W
09 33 64 40 00 00 00 00 0c 0f 17 f3 00 00 00 00 = 1439W
09 33 64 40 00 00 00 00 0d 0f 24 c2 00 00 00 00 = 1559W
I noticed that byte 9 was increasing with higher watt numbers and I suddenly remembered that the resolution of the meter is 120W (1 pulse per 30s on a 1000p/kwh meter). Added these two things together and came to the conclusion that
power = byte[8] * 120W. The monitor has some really weird round off error though.
So now I just have to figure out the rest :).
byte[0-3] is always 09 33 64 40. Some device identifier?
byte[9] is always 0f. Battery status?
byte[10-11] is consistent with the power reading but doesn't add information. Checksum/CRC?
I got really excited about this and I basically just wanted to say thanks! I will add to your code locally. If I get things fully working I could push if you'd like me to,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.