{ "info": { "author": "Thammi", "author_email": "thammi@chaossource.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Programming Language :: Python :: 3", "Topic :: Home Automation", "Topic :: Utilities" ], "description": "# pypwrctrl\n\n## Introduction\n\nThis is a library and command line utility for Anel NET-PwrCtrl network\ncontrollable extension leads. It offers the functionality provided by the UDP\nprotocol. Devices can be found by network discovery and saved into a\nconfiguration file for easy access.\n\nThe UDP protocol has to be enabled in the NET-PwrCtrl devices in order to\ncontrol them with this tool.\n\n## Security Notes\n\nEnabling the UDP protocol is quite insane from a security standpoint. The user\ncredentials are tranmitted as plaintext in the commands requiring\nauthentication. Never use this tool or this protocol if you cannot live with\nthe plugs being controlled by anyone having access to the network!\n\n## Installation\n\nThe program was written on Linux but should also run on Windows, Mac OS X, and\nevery other operating system supported by Python 3.\n\nSimply run:\n\n\teasy_install3 --user pypwrctrl\n\nOr checkout the repository and run:\n\n\t./setup.py install --user\n\nYou can remove the '--user' in both methods to install for all users of your\nsystem (requires root privileges).\n\n*pypwrctrl* depends only on 'python3' and 'python3-setuptools' for\ninstallation.\n\n## Usage\n\nFor simple usage information type:\n\n\tpypwrctrl --help\n\nThis tutorial will give a more detailed introduction with examples.\n\nFirst configure your NET-PwrCtrl to handle the UDP protocol (please note\n*Security Notes* above) and set both ports to something above the privileged\nports (>1024). These configuration options are in the *Lan* page of the\nwebinterface. I am going to assume a sending port of 4165, a receiving port of\n4166, and the user 'ulf' with the password 'secret' in the following examples.\n\nFirst let us try to discover the device:\n\n\tpypwrctrl -d -i 4165 -o 4166 -u ulf -p secret show\n\nIf you do not see any devices please make sure that UDP is enabled, the right\nports are configured, and the device is reachable from the device you are\ntesting this on.\n\nThe *-d* is the switch which enables network discovery and the other switches\ntell the program which ports and user credentials are used.\n\nAlways typing the port options is tiresome. We should save them in the\nconfiguration file:\n\n\tpypwrctrl -i 4165 -o 4166 -u ulf -p secret save\n\nNow we can discover devices with a simpler command:\n\n\tpypwrctrl -d show\n\nYou can also save the discovered devices and plugs for faster access:\n\n\tpypwrctrl -d save\n\nEvery configuration item can be changed by setting it with its command line\nswitch and applying the 'save' command.\n\nNow to the part you are actually here for: Controlling the state of the power\noutlets. Turning a power outlet on is as simple as writing:\n\n\tpypwrctrl on 192.168.1.50 1\n\nTurning it off again is just as easy:\n\n\tpypwrctrl off 192.168.1.50 1\n\nBoth commands change the state of the socket '1' of the device at\n'192.168.1.50'. You can leave out the address if you have only one device or\nwant to control all devices with one command.\n\nDid you know that you can assign names to the individual sockets? Set a\nsensible name in the webinterface of your device and use it to select the\nsocket in *pypwrctrl*:\n\n\tpypwrctrl on fan\n\nDevices can also be named.\n\n## TODO\n\n* resend messages\n* add ability to control devices without configuration and '-d'\n* test with more than one device and other product versions (used\n NET-PwrCtrl HOME)\n* support Temperature, IO, ...\n\n## License\n\npypwrctrl is free software: you can redistribute it and/or modify it under the\nterms of the GNU General Public License as published by the Free Software\nFoundation, either version 3 of the License, or (at your option) any later\nversion.\n\npypwrctrl is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with\npypwrctrl. If not, see\n[http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thammi/pypwrctrl", "keywords": "net-pwrctrl anel", "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "pypwrctrl", "package_url": "https://pypi.org/project/pypwrctrl/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pypwrctrl/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/thammi/pypwrctrl" }, "release_url": "https://pypi.org/project/pypwrctrl/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Anel NET-PwrCtrl library and command line utility", "version": "0.2.1" }, "last_serial": 1608084, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e2b62adec3aacc446428c2fd01b912f1", "sha256": "c6195696a6c0d87c4d64339848c9468316a4e400d8137542dc1d7ffb2ab268cb" }, "downloads": -1, "filename": "pypwrctrl-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e2b62adec3aacc446428c2fd01b912f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6525, "upload_time": "2013-07-13T18:31:43", "url": "https://files.pythonhosted.org/packages/b6/12/2818351c5613966ff20d02fb4d33dcf273c557d2597edfeb90997dda01cf/pypwrctrl-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1f3934d556d691076049799b8c893c78", "sha256": "ad35fca1891936bf95cd950f89a73fcdb1f7eb7067af3758da14d5972c290e39" }, "downloads": -1, "filename": "pypwrctrl-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1f3934d556d691076049799b8c893c78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6646, "upload_time": "2013-07-13T22:11:36", "url": "https://files.pythonhosted.org/packages/d9/54/c621362f54f5f2e0cc3e8f8d5c28bc433f4df250fc2302addc59d8b38cc7/pypwrctrl-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1fe04c4fed80aa28731246d3558e2ce0", "sha256": "d7ca7153d72a018ef685311e8f977948e524417bc56deb18f0ec2d2b7bd19253" }, "downloads": -1, "filename": "pypwrctrl-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1fe04c4fed80aa28731246d3558e2ce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6762, "upload_time": "2013-07-13T22:22:05", "url": "https://files.pythonhosted.org/packages/5d/7b/4a5325045b91d1ccce12f83928517f05c39008b7bfa3f171223a77c09b50/pypwrctrl-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "0d9d5d39672a6faee9dd3e35f886ae64", "sha256": "82aa18ea580728a82569878bab09c367c6ff35d50d949835930c2d8a1b05dec6" }, "downloads": -1, "filename": "pypwrctrl-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0d9d5d39672a6faee9dd3e35f886ae64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6771, "upload_time": "2013-07-16T09:14:00", "url": "https://files.pythonhosted.org/packages/31/00/50c3f2b08517bd2e290fcf45b61f89beb2cf72836b2d7898c657b0e445f5/pypwrctrl-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "63e80544e08ccafe8b35a15aabc83a51", "sha256": "ab0c14b32c2ae3602b08a82ba384844ba9ca708d00a38affdfc04eb077f31c21" }, "downloads": -1, "filename": "pypwrctrl-0.1.4.tar.gz", "has_sig": false, "md5_digest": "63e80544e08ccafe8b35a15aabc83a51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7242, "upload_time": "2013-07-17T12:23:25", "url": "https://files.pythonhosted.org/packages/37/e0/8963f9491debffb11836110af13415c341e1dad96fd882e05bf13664d8ff/pypwrctrl-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ed4ef6ee4afa9ea585438f51a4e07ced", "sha256": "b19529830ae50d233f20963cfaea8a0c2616e9c55b2e8d4e35a14f8f0451b20e" }, "downloads": -1, "filename": "pypwrctrl-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ed4ef6ee4afa9ea585438f51a4e07ced", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7566, "upload_time": "2015-06-26T12:47:39", "url": "https://files.pythonhosted.org/packages/25/be/81d30e7ec2d43e5e7f657ec52aaacffe874d5210235518e273574e027141/pypwrctrl-0.2.0.tar.gz" } ], "0.2.1": [] }, "urls": [] }