{
"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\tOutlets Control page\n\t | \n\t \n\t\t|  | \n\t\t | \n\t
\n\t
\n\t
\n\t\n\t | \n\t\tOutlets Configuration editor\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\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"
}
]
}