{ "info": { "author": "Eugenio Panadero", "author_email": "azogue.lab@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Operating System :: Unix", "Programming Language :: Python :: 3.5", "Topic :: Home Automation" ], "description": "\n**PYOUTLET**\n============\n\nPython CLI & Web switcher for Etekcity power outlets using 433MHz RF\n--------------------------------------------------------------------\n\nPython wrapper around rfoutlet (from https://timleland.com/wireless-power-outlets/)\nto control **Etekcity power outlets from a Raspberry Pi** using a 433MHz RF emitter module.\n\nIt has a simple **CLI** utility and a minimal **flask webapp** with ON/OFF buttons and a config editor.\n\n- Install is as simple as `pip install pyoutlet`\n\n- CLI usage:\n `switch off label_switch_5`\n `switch on 4`\n TURN ON SWITCH \"4\" -> Sending Code: 4529411. PIN: 0. Pulse Length: 185\n `switch --info`\n ** PYOUTLET JSON config in \"/path/to/pyoutlet/codes_outlets.json\"\n --> * 1 -> ON:4527411, OFF:4527420\n * 2 -> ON:4527555, OFF:4527564\n * 3 -> ON:4527875, OFF:4527884\n * 4 -> ON:4529411, OFF:4529420\n * label_switch_5 -> ON:4535555, OFF:4535564\n\n- Outlet CODES are saved (and labeled) in a JSON file, inside `pyoutlet` module, like this:\n\n\t {\n\t \"pulse_length\": 185,\n\t \"outlets\":\n [\n\t\t\t{\n\t\t\t \"on\": 4527411,\n\t\t\t \"off\": 4527420,\n\t\t\t \"label\": \"1\"\n\t\t\t},\n\t\t\t{\n\t\t\t \"on\": 4527555,\n\t\t\t \"off\": 4527564,\n\t\t\t \"label\": \"2\"\n\t\t\t},\n\t\t\t{\n\t\t\t \"on\": 4527875,\n\t\t\t \"off\": 4527884,\n\t\t\t \"label\": \"3\"\n\t\t\t},\n\t\t\t{\n\t\t\t \"on\": 4529411,\n\t\t\t \"off\": 4529420,\n\t\t\t \"label\": \"4\"\n\t\t\t},\n\t\t\t{\n\t\t\t \"on\": 4535555,\n\t\t\t \"off\": 4535564,\n\t\t\t \"label\": \"label_switch_5\"\n\t\t\t}\n\t\t ]\n\t }\n- Some screenshots:\n\n\t\n\t \n\t \n\t\t\n\t\t\n\t \n\t
\n\t\tOutlets Control page\n\t
![Control Page](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/control_page.png)![Control Page](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/control_page_xs.png)
\n\t
\n\t\n\t \n\t \n\t\t\n\t\t\n\t \n\t \n\t\t\n\t\t\n\t \n\t
\n\t\tOutlets Configuration editor\n\t
![Config Editor - Edit JSON config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_manual_editor.png)![Config Editor - View JSON config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_view.png)
![Config Editor - Upload JSON config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_upload.png)![Config Editor - Homebridge config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_homebridge_conf.png)
\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/azogue/pyoutlet", "keywords": "home-automation power outlet raspberry", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyoutlet", "package_url": "https://pypi.org/project/pyoutlet/", "platform": "", "project_url": "https://pypi.org/project/pyoutlet/", "project_urls": { "Homepage": "https://github.com/azogue/pyoutlet" }, "release_url": "https://pypi.org/project/pyoutlet/0.0.8/", "requires_dist": [ "flask (>=0.11)", "jsondiff (>=1.0.0)" ], "requires_python": "", "summary": "Python CLI & Web switcher for Etekcity power outlets using 433MHz RF emitter", "version": "0.0.8" }, "last_serial": 2495780, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "899d3942be7fd6c1a56dce5cf0965d05", "sha256": "43719fc62bb5fa11001d19948bf04ba0e69b2ddd5599c8637db3da29da9e22d1" }, "downloads": -1, "filename": "pyoutlet-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "899d3942be7fd6c1a56dce5cf0965d05", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40575, "upload_time": "2016-12-01T02:01:57", "url": "https://files.pythonhosted.org/packages/40/6c/509c563fb11e65502f60798e00b547c6db12a2232147b2117372db2f6239/pyoutlet-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c65b732a74fcb9b667eb30081696adb0", "sha256": "cfd342791eedffeecea8343570b84f60072e54bd2fb378507700f16dc8f7825d" }, "downloads": -1, "filename": "pyoutlet-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c65b732a74fcb9b667eb30081696adb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37982, "upload_time": "2016-12-01T02:02:02", "url": "https://files.pythonhosted.org/packages/f6/27/e75b5759126541cd90031b86718627c261f962a8fb27a55831382743a891/pyoutlet-0.0.1.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "7a5d7687faa85a17bef9fb4954c782fb", "sha256": "2b886dc8d3777647d4b80cdfae46a979ee788442745341b0450ab1a290f78ad5" }, "downloads": -1, "filename": "pyoutlet-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7a5d7687faa85a17bef9fb4954c782fb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 49084, "upload_time": "2016-12-02T00:28:23", "url": "https://files.pythonhosted.org/packages/d2/dd/f1311a64de83dfba365c5be28e5d2208e85a161fd7148d681728909f7d85/pyoutlet-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffe8474503fd1ce19c9ddf5085e8fa77", "sha256": "7f4045c67851dd2bbfeb1ff59ae3ce18eb1df7e3eea6f0bafde3d965546ab604" }, "downloads": -1, "filename": "pyoutlet-0.0.5.tar.gz", "has_sig": false, "md5_digest": "ffe8474503fd1ce19c9ddf5085e8fa77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44613, "upload_time": "2016-12-02T00:28:25", "url": "https://files.pythonhosted.org/packages/b4/08/2d7fcef84700ef61a8dfefda4292a6914ebbec4a09011dd65c0188fc33e0/pyoutlet-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "d67955f127f82d5ce53cf2e292f4d5c9", "sha256": "b37a021f762fe30cb2170c8ffd54c25365f2f705e078df4daf46fc68934fed2f" }, "downloads": -1, "filename": "pyoutlet-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d67955f127f82d5ce53cf2e292f4d5c9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 49507, "upload_time": "2016-12-02T00:45:36", "url": "https://files.pythonhosted.org/packages/95/9c/19345ac5501e0a8bc2a6e2758d9a5725762dd3c44c91bee9dd20ed749110/pyoutlet-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ac61afe695eefefbd4ce0cd992c1452", "sha256": "1756e5714faab67ef9382b790ded1c0f98701988630113e903716b20de877c94" }, "downloads": -1, "filename": "pyoutlet-0.0.6.tar.gz", "has_sig": false, "md5_digest": "7ac61afe695eefefbd4ce0cd992c1452", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44612, "upload_time": "2016-12-02T00:45:39", "url": "https://files.pythonhosted.org/packages/da/4a/14b40a0736fe4a81bd068d7f85fd5f66c1e98357d75b7152125e2a581358/pyoutlet-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "c96870de8faac3a701e0b12d525bd925", "sha256": "1ba984a8a3860c7ba4d5352664b9f9c581692398e101fce4d975c7a82a9f0b6d" }, "downloads": -1, "filename": "pyoutlet-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c96870de8faac3a701e0b12d525bd925", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 49648, "upload_time": "2016-12-02T10:15:42", "url": "https://files.pythonhosted.org/packages/cf/9f/b55704d9642f18a7ff4bfd4505f673304cbd761bd2472e08c924fbf90eab/pyoutlet-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "406a73ecd8910480072bbfbe29bdd53b", "sha256": "a938d05e3df58f29297c1c09a47daaaaeb359ce5f153e49f9599523f664210d0" }, "downloads": -1, "filename": "pyoutlet-0.0.7.tar.gz", "has_sig": false, "md5_digest": "406a73ecd8910480072bbfbe29bdd53b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45506, "upload_time": "2016-12-02T10:15:45", "url": "https://files.pythonhosted.org/packages/6c/5d/600d7c267283607e1238de9d3426fb1607bba37d0035c7ad8ad59ed6d6fe/pyoutlet-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "f5dc2cd14a668eedc7c9fc1bbe7ca08f", "sha256": "a9c7432398fda52122ef445666bffe43fdbc2883633c1b1c80bf13274c9acac8" }, "downloads": -1, "filename": "pyoutlet-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5dc2cd14a668eedc7c9fc1bbe7ca08f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50084, "upload_time": "2016-12-02T13:22:45", "url": "https://files.pythonhosted.org/packages/da/ab/7de890c03a1d8b35ba6bdaf43c2604e6d6746923e23e51329d64071c1ed8/pyoutlet-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca348314671b67137efec7d08f54721f", "sha256": "4408a4090d07fe9ddda0fb4f504bce23214579d36c0783aba311b88e78120293" }, "downloads": -1, "filename": "pyoutlet-0.0.8.tar.gz", "has_sig": false, "md5_digest": "ca348314671b67137efec7d08f54721f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45514, "upload_time": "2016-12-02T13:22:48", "url": "https://files.pythonhosted.org/packages/d7/a2/df452c2c7417c38d6de0493deca6d99d81b01f36a5b2e2c1f9aebc0105b1/pyoutlet-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f5dc2cd14a668eedc7c9fc1bbe7ca08f", "sha256": "a9c7432398fda52122ef445666bffe43fdbc2883633c1b1c80bf13274c9acac8" }, "downloads": -1, "filename": "pyoutlet-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5dc2cd14a668eedc7c9fc1bbe7ca08f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50084, "upload_time": "2016-12-02T13:22:45", "url": "https://files.pythonhosted.org/packages/da/ab/7de890c03a1d8b35ba6bdaf43c2604e6d6746923e23e51329d64071c1ed8/pyoutlet-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca348314671b67137efec7d08f54721f", "sha256": "4408a4090d07fe9ddda0fb4f504bce23214579d36c0783aba311b88e78120293" }, "downloads": -1, "filename": "pyoutlet-0.0.8.tar.gz", "has_sig": false, "md5_digest": "ca348314671b67137efec7d08f54721f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45514, "upload_time": "2016-12-02T13:22:48", "url": "https://files.pythonhosted.org/packages/d7/a2/df452c2c7417c38d6de0493deca6d99d81b01f36a5b2e2c1f9aebc0105b1/pyoutlet-0.0.8.tar.gz" } ] }