{ "info": { "author": "p3g4asus", "author_email": "fulminedipegasus@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# pybroadlink\n\nControl Broadlink devices with Python 3 using asyncio (single threaded with event loop). Currently supports the RM3 Smart Remote.\n\n## Usage\n\n```python\nimport sys\nimport logging\nimport traceback\nfrom pybroadlink.broadlink_udp import BroadlinkRM3\nimport asyncio\nimport binascii\nfrom base64 import b64decode\nfrom pybroadlink import _LOGGER\nasync def testFake(n):\n for i in range(n):\n _LOGGER.debug(\"Counter is %d\",i)\n await asyncio.sleep(1)\nasync def discovery_test(*args):\n rv = await BroadlinkUDP.discovery(local_ip_address=args[2],timeout=int(args[3]))\n if rv:\n _LOGGER.info(\"Discovery OK %s\",rv)\n else:\n _LOGGER.warning(\"Discovery failed\")\n\nasync def emit_test(*args):\n import re\n mo = re.search('^[a-fA-F0-9]+$', args[4])\n if mo:\n payload = binascii.unhexlify(args[4])\n else:\n payload = b64decode(args[4])\n a = BroadlinkRM3((args[2],PORT),args[3])\n rv = await a.emit_ir(payload,retry=1)\n if rv:\n _LOGGER.info(\"Emit OK %s\",binascii.hexlify(rv[0]).decode('utf-8'))\n else:\n _LOGGER.warning(\"Emit failed\")\n a.destroy_remote()\nasync def learn_test(*args):\n a = BroadlinkRM3((args[2],PORT),args[3])\n rv = await a.enter_learning_mode()\n if rv:\n _LOGGER.info(\"Entered learning mode (%s): please press key\",rv)\n rv = await a.learn_ir_get(30)\n if rv:\n _LOGGER.info(\"Obtained %s\",binascii.hexlify(rv[0]).decode('utf-8'))\n else:\n _LOGGER.warning(\"No key pressed\")\n else:\n _LOGGER.warning(\"Enter learning failed\")\n a.destroy_remote()\n_LOGGER.setLevel(logging.DEBUG)\nhandler = logging.StreamHandler(sys.stderr)\nhandler.setLevel(logging.DEBUG)\nformatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')\nhandler.setFormatter(formatter)\n_LOGGER.addHandler(handler)\nloop = asyncio.get_event_loop()\ntry:\n asyncio.ensure_future(testFake(150))\n if sys.argv[1]==\"learn\":\n loop.run_until_complete(learn_test(*sys.argv))\n elif sys.argv[1]==\"discovery\":\n loop.run_until_complete(discovery_test(*sys.argv))\n else:\n loop.run_until_complete(emit_test(*sys.argv))\nexcept BaseException as ex:\n _LOGGER.error(\"Test error %s\",str(ex))\n traceback.print_exc()\nexcept:\n _LOGGER.error(\"Test error\")\n traceback.print_exc()\nfinally:\n loop.close()\n```\n\n## Contributions\n\nPull requests are welcome. Possible areas for improvement:\n\n* Additional Broadlink devices (switches).\n\n## Disclaimer\n\nNot affiliated with Broadlink.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/p3g4asus/pybroadlink", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pybroadlink", "package_url": "https://pypi.org/project/pybroadlink/", "platform": "", "project_url": "https://pypi.org/project/pybroadlink/", "project_urls": { "Homepage": "https://github.com/p3g4asus/pybroadlink" }, "release_url": "https://pypi.org/project/pybroadlink/1.5/", "requires_dist": null, "requires_python": "", "summary": "Asyncio module for Broadlink devices control", "version": "1.5" }, "last_serial": 5413962, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "60e5ef9f3b38b0c12ca9e67fcc93a017", "sha256": "75f50aa0174970b656f9eb5a885fa0ef2779a876fc284e100cd8789805fbf93b" }, "downloads": -1, "filename": "pybroadlink-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "60e5ef9f3b38b0c12ca9e67fcc93a017", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10203, "upload_time": "2019-05-05T14:28:54", "url": "https://files.pythonhosted.org/packages/18/1e/525c1c02c6d9b4c0a3caeb2b5419a2bc6c55951a66f68f5591d3cc730102/pybroadlink-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1795c153aab584993dbdd4345bc38a8", "sha256": "fd8ca3d75db7fe913c9ad8d4f86e014ef43b7c72f744566aa1a017573495e017" }, "downloads": -1, "filename": "pybroadlink-1.0.tar.gz", "has_sig": false, "md5_digest": "a1795c153aab584993dbdd4345bc38a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8512, "upload_time": "2019-05-05T14:28:56", "url": "https://files.pythonhosted.org/packages/eb/3a/95ae7d55f7547936b82967451d07a3549dc232968f27d5caa9e6cc929c26/pybroadlink-1.0.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "217df18663b4b1c57d0f5afe2d128d2a", "sha256": "bae2c0cb77e5d60cc1f080450cacc68b2d45b70c5221616ec30f4e23bb4e87d2" }, "downloads": -1, "filename": "pybroadlink-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "217df18663b4b1c57d0f5afe2d128d2a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10241, "upload_time": "2019-05-05T20:10:26", "url": "https://files.pythonhosted.org/packages/3e/0f/31a070d6612a4eb02ef323991c23f6002ad2acbca9f0097e5bfe654bf989/pybroadlink-1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53d1b44b422066a325473b2df80ab4c7", "sha256": "2c37f77676208b37388dd63fb1bc07a63f66458da39595e290c3fe0b7fc28b14" }, "downloads": -1, "filename": "pybroadlink-1.2.tar.gz", "has_sig": false, "md5_digest": "53d1b44b422066a325473b2df80ab4c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8575, "upload_time": "2019-05-05T20:10:27", "url": "https://files.pythonhosted.org/packages/27/b9/07997e039a832d90a073441b2c50bd1e0cd77e0afb2db1596046073046e3/pybroadlink-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "96d5f33c0d629cf9297cd6a3659b4065", "sha256": "dfdf1204a4eb06a0218bc6dc3e7545f5b9389fbf9f6490be68623e7d4984b74c" }, "downloads": -1, "filename": "pybroadlink-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "96d5f33c0d629cf9297cd6a3659b4065", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10251, "upload_time": "2019-05-06T20:14:36", "url": "https://files.pythonhosted.org/packages/1a/15/9d31a9c9f3986a73ab0a54ce2871868ca3719ea7be3ed371336982169224/pybroadlink-1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd6f084f7880daf1631065d5214af72", "sha256": "75d98e6c36a9929a3efdcc11e71e3ac85e3f792724739d94560dcc37cbeb4099" }, "downloads": -1, "filename": "pybroadlink-1.3.tar.gz", "has_sig": false, "md5_digest": "bfd6f084f7880daf1631065d5214af72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8608, "upload_time": "2019-05-06T20:14:38", "url": "https://files.pythonhosted.org/packages/3b/85/33f7f9afd5f5d007c13290bc1f750eab09e7b6d0b178bc20382f3b710066/pybroadlink-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "c1c929f771594339041821649ee0ba83", "sha256": "58127b742d618ad1545da96b3c8fe5a9e9efcaa2b78c85aff6059eee15181304" }, "downloads": -1, "filename": "pybroadlink-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c1c929f771594339041821649ee0ba83", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10303, "upload_time": "2019-05-18T17:38:32", "url": "https://files.pythonhosted.org/packages/45/a7/0520713e5e12640126e05a6ac559adcbd920263c7dfcd1c3a57a045e7d09/pybroadlink-1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb705a71c4b1ecf1f2dfb6893ab09894", "sha256": "c90ddbc52de414fc504857e653f90f0cf6bd753293f1f576cb67f868cfeb3286" }, "downloads": -1, "filename": "pybroadlink-1.4.tar.gz", "has_sig": false, "md5_digest": "bb705a71c4b1ecf1f2dfb6893ab09894", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8683, "upload_time": "2019-05-18T17:38:33", "url": "https://files.pythonhosted.org/packages/5b/bd/a07791c1ee1935fa24fce477d93fde452ad7886601a6ad8c0751ca2551c0/pybroadlink-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "61551302a24c1415a99a0073d2e4acfc", "sha256": "4f406a977dfda6985819802b7163f5ca2b26d377e6e27899edad1f540d86f39f" }, "downloads": -1, "filename": "pybroadlink-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "61551302a24c1415a99a0073d2e4acfc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10312, "upload_time": "2019-06-18T08:30:14", "url": "https://files.pythonhosted.org/packages/45/55/cd9a96218e76f9f04c67ca7e415204762ffa25d8050606d0d0aeab134833/pybroadlink-1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6507c4b82b1f040d57d52bce2877e272", "sha256": "ea3712597be0ae14daa446c3dee4e2099bef4c492866019f176d51478364e356" }, "downloads": -1, "filename": "pybroadlink-1.5.tar.gz", "has_sig": false, "md5_digest": "6507c4b82b1f040d57d52bce2877e272", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8695, "upload_time": "2019-06-18T08:30:15", "url": "https://files.pythonhosted.org/packages/c8/74/0b77d383e87c540df09b136c4025258a0645759b9db050a49c74de35d934/pybroadlink-1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "61551302a24c1415a99a0073d2e4acfc", "sha256": "4f406a977dfda6985819802b7163f5ca2b26d377e6e27899edad1f540d86f39f" }, "downloads": -1, "filename": "pybroadlink-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "61551302a24c1415a99a0073d2e4acfc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10312, "upload_time": "2019-06-18T08:30:14", "url": "https://files.pythonhosted.org/packages/45/55/cd9a96218e76f9f04c67ca7e415204762ffa25d8050606d0d0aeab134833/pybroadlink-1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6507c4b82b1f040d57d52bce2877e272", "sha256": "ea3712597be0ae14daa446c3dee4e2099bef4c492866019f176d51478364e356" }, "downloads": -1, "filename": "pybroadlink-1.5.tar.gz", "has_sig": false, "md5_digest": "6507c4b82b1f040d57d52bce2877e272", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8695, "upload_time": "2019-06-18T08:30:15", "url": "https://files.pythonhosted.org/packages/c8/74/0b77d383e87c540df09b136c4025258a0645759b9db050a49c74de35d934/pybroadlink-1.5.tar.gz" } ] }