{ "info": { "author": "Tomaz Solc", "author_email": "tomaz.solc@tablix.org", "bugtrack_url": null, "classifiers": [], "description": "Software receiver for EnergyCount 3000\n======================================\n\nThis module allows you to receive and decode radio transmissions from\nEnergyCount 3000 energy loggers using a RTL-SDR supported radio receiver and\nthe GNU Radio software defined radio framework.\n\nEnergyCount 3000 transmitters plug between a device and an AC power outlet\nand monitor electrical energy usage. They transmit a packet with a status\nupdate every 5 seconds on the 868 MHz SRD band. Reported values include\nid of the device, current and maximum seen electrical power, total energy\nused and device on time.\n\n\nModule content\n--------------\n\nThe module exports a class that represents the radio receiver. You provide\nit with a callback function that is called each time a new status update is\nreceived::\n\n def callback(state):\n \tprint state\n\n my_ec3k = ec3k.EnergyCount3K(callback=callback)\n\n my_ec3k.start()\n while not want_stop:\n \ttime.sleep(2)\n \tprint \"Noise level: %.1f dB\" % (my_ec3k.noise_level,)\n\n my_ec3k.stop()\n\nThe example above prints out the following on each status update::\n\n id : ....\n time total : .... seconds\n time on : .... seconds\n energy : .... Ws\n power current : .... W\n power max : .... W\n reset counter : ....\n\nYou can also get the last received state by calling the ``get`` method on\nthe EnergyCount3K object. See docstrings for details.\n\nAlso included is an example command-line client ``ec3k_recv`` that prints\nreceived packets to standard output.\n\n\nRequirements\n------------\n\nYou need the GNU Radio framework, rtl-sdr and the gr-osmosdr package.\n\nhttp://sdr.osmocom.org/trac/wiki/rtl-sdr\n\nCombination of versions last known to work:\n\n - GNU Radio release 3.7.5\n - rtl-sdr git commit d447a2e9 (2014-08-26)\n - gr-osmosdr git commit 48045b59 (2015-01-10)\n\nFor baseband decoding a pure Python implementation is included in this\npackage (``capture.py``) and should work out of the box.\n\nFor more efficient decoding a C implementation can also be used. Obtain\nthe source from the address below, compile it and make sure ``capture``\nbinary is in PATH. It should then get used automatically instead of the\nPython implementation.\n\nhttp://www.tablix.org/~avian/blog/articles/am433/\n\n\nInstallation\n------------\n\nInstall ``ec3k`` as you would most other Python packages::\n\n $ python setup.py install\n $ python setup.py test\n\nTo try it out, run the example command-line client::\n\n $ ec3k_recv\n\nPlease note that the receiver needs some time to adapt to the signal and noise\nlevel in your environment. It might take a few minutes before ``ec3k_recv``\nprints out any decoded packets.\n\n\nKnown problems\n--------------\n\nOccasionally the GNU Radio pipeline isn't setup correctly. If this happens\nthe noise level constantly stays at -90 dB and no packets are ever\nreceived. Restarting the program usually helps. Updating gr-osmosdr and rtl-sdr\nusually fixes this problem.\n\nStopping the receiver sometimes causes a segfault. Updating gr-osmosdr and\nrtl-sdr usually fixes this problem.\n\n\nFeedback\n--------\n\nPlease send patches or bug reports to \n\n\nSource\n------\n\nYou can get a local copy of the development repository with::\n\n git clone git://github.com/avian2/ec3k.git\n\n\nLicense\n-------\n\nec3k, software receiver for EnergyCount 3000\n\nCopyright (C) 2015 Tomaz Solc \n\nCopyright (C) 2012 Gasper Zejn\n\nProtocol reverse engineering: http://forum.jeelabs.net/comment/4020\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see .\n\n..\n vim: set filetype=rst:", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "ec3k", "package_url": "https://pypi.org/project/ec3k/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ec3k/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/ec3k/1.1.1/", "requires_dist": null, "requires_python": null, "summary": "Use rtl-sdr to receive EnergyCount 3000 transmissions.", "version": "1.1.1" }, "last_serial": 1378457, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "8d34158ed34ef3f47241311356201031", "sha256": "04581cacd3ed3aaab784b8b31ce2435ec6d185bd7a7b32c19d0c67ae085fddd3" }, "downloads": -1, "filename": "ec3k-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8d34158ed34ef3f47241311356201031", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20783, "upload_time": "2012-07-16T08:51:30", "url": "https://files.pythonhosted.org/packages/80/0c/1846e9fc8cb7c8d901a544ae0a8080a9d65a86317bc75116c8951c1c400d/ec3k-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c5325addca7f27f2e877255c936f4003", "sha256": "87feeef34dd82664adae37e03cdb057f9705ff18e4d4d17bff4a70857c0ad6fa" }, "downloads": -1, "filename": "ec3k-1.0.1.tar.gz", "has_sig": false, "md5_digest": "c5325addca7f27f2e877255c936f4003", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21316, "upload_time": "2013-05-30T13:48:01", "url": "https://files.pythonhosted.org/packages/69/ad/d253f769c679154b4af798674fa0293213e7ed674e5e653081c3d9c69a1b/ec3k-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "5f3fdef9b46d5aba8dc0392ea2f4a38f", "sha256": "1d4ae81823536e076e2af01fb2dd951900819d45a883cb0771acf1211c1e837a" }, "downloads": -1, "filename": "ec3k-1.1.0.tar.gz", "has_sig": false, "md5_digest": "5f3fdef9b46d5aba8dc0392ea2f4a38f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 436939, "upload_time": "2013-10-30T08:11:40", "url": "https://files.pythonhosted.org/packages/c9/44/4c36eac431399cde70c34e9d0d4cecbf0ecb40aa38d012247f53cba935e1/ec3k-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "b122d2540178cf4b68e0a93a4752cb06", "sha256": "eca4a2fce914bdb38951706564fe88ed4269687332a4d8fe349e9370873541f6" }, "downloads": -1, "filename": "ec3k-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b122d2540178cf4b68e0a93a4752cb06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 438758, "upload_time": "2015-01-11T13:48:02", "url": "https://files.pythonhosted.org/packages/eb/f7/b09bf190d06ded7e3bb2ff172474f9e75e10ad341ad0ee46d3c505249d0e/ec3k-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b122d2540178cf4b68e0a93a4752cb06", "sha256": "eca4a2fce914bdb38951706564fe88ed4269687332a4d8fe349e9370873541f6" }, "downloads": -1, "filename": "ec3k-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b122d2540178cf4b68e0a93a4752cb06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 438758, "upload_time": "2015-01-11T13:48:02", "url": "https://files.pythonhosted.org/packages/eb/f7/b09bf190d06ded7e3bb2ff172474f9e75e10ad341ad0ee46d3c505249d0e/ec3k-1.1.1.tar.gz" } ] }