{ "info": { "author": "Carl Seelye", "author_email": "cseelye@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "========\npyirobot\n========\n\nThis ia a python module for controlling the iRobot Roomba 980 (and possibly Roomba 960 and Braava Jet, but those are untested)\n\niRobot does not povide an official API for their robots; I reverse engineered this from the communication between my robot, the\niRobot iOS app, and the Axeda IoT cloud service. The names of methods and attributes are mapped as closely as possible to the\nway the ap presents them.\n\nThis module is published to `pypi`_, so you can install it via ``pip install pyirobot``\n\nUsage\n=====\n\nRobot Password\n''''''''''''''\n\nTo use any of the robot functions, you will need to get the password of your robot. ``Robot.GetPassword()`` can help you do this.\nMake sure your robot is on the home base and then hold down the home button for 3-4 seconds, until the LEDs illuminate and the\nrobot emits a series of tones. Then quickly call ``Robot.GetPassword`` with the IP address of your robot.\n\nControlling the Robot\n'''''''''''''''''''''\n\nYou can start and stop cleaning and send the robot back to the home base with ``StartCleaning``, ``PauseCleaning``,\n``ResumeCleaning``, ``EndCleaning`` and ``ReturnHome``\n\n.. code:: python\n\n from pyirobot import Robot\n robot = Robot(\"192.168.0.0\", \"MtccDqXskShX|4jXnTd\")\n robot.StartCleaning()\n \n robot.StopCleaning()\n robot.ReturnHome()\n\nRobot Configuration/Status\n''''''''''''''''''''''''''\n\n``GetCleaningPreferences`` returns the cleaning preferences for the robot. CarpetBoost, CleaningPasses, EdgeClean and\nFinishWhenBinFull are all enums in the module.\n\n.. code:: python\n\n import json\n from pyirobot import Robot\n robot = Robot(\"192.168.0.0\", \"MtccDqXskShX|4jXnTd\")\n print robot.GetCleaningPreferences()\n print json.dumps(robot.GetCleaningPreferences(), sort_keys=True, indent=4)\n\nOutput::\n\n {u'lang': 0, u'cleaningPasses': , u'name': u'Roomba', u'finishWhenBinFull': , u'carpetBoost': , u'edgeClean': , u'timezone': u'America/Chicago'}\n\n {\n \"carpetBoost\": \"Auto\", \n \"cleaningPasses\": \"Auto\", \n \"edgeClean\": \"On\", \n \"finishWhenBinFull\": \"Off\", \n \"lang\": 0, \n \"name\": \"Roomba\", \n \"timezone\": \"America/Chicago\"\n }\n\n``GetMission`` returns real time status about the robot, including battery and bin as well as the current cleaning status, if the robot is currently cleaning.\n\n.. code:: python\n\n print robot.GetMission()\n\n {u'binStatus': , u'readyStatus': , u'robotPosition': {u'theta': -79, u'point': {u'y': -22, u'x': 2}}, u'robotStatus': , u'missionCoveredSquareFootage': 0, u'missionElapsedMinutes': 0, u'batteryPercentage': 100}\n\n.. code:: python\n\n print json.dumps(robot.GetMission(), sort_keys=True, indent=4)\n\n {\n \"batteryPercentage\": 100, \n \"binStatus\": \"Normal\", \n \"missionCoveredSquareFootage\": 0, \n \"missionElapsedMinutes\": 0, \n \"readyStatus\": \"Ready\", \n \"robotPosition\": {\n \"point\": {\n \"x\": 2, \n \"y\": -22\n }, \n \"theta\": -79\n }, \n \"robotStatus\": \"Charging\"\n }\n\nThere are other functions for getting the cleaning schedule, robot time, and various other settings, as well as the corresponding\nSet functions, and enums for the various fields.\n\n.. code:: python\n\n print robot.GetSchedule()\n\n {'Sunday': {'startTime': datetime.time(9, 0), 'clean': False}, 'Monday': {'startTime': datetime.time(10, 0), 'clean': True}, 'Tuesday': {'startTime': datetime.time(10, 0), 'clean': True}, 'Wednesday': {'startTime': datetime.time(10, 0), 'clean': True}, 'Thursday': {'startTime': datetime.time(10, 0), 'clean': True}, 'Friday': {'startTime': datetime.time(10, 0), 'clean': True}, 'Saturday': {'startTime': datetime.time(10, 0), 'clean': False}}\n\n.. code:: python\n\n print json.dumps(robot.GetSchedule(), indent=4)\n\n {\n \"Sunday\": {\n \"startTime\": \"09:00:00\", \n \"clean\": false\n }, \n \"Monday\": {\n \"startTime\": \"10:00:00\", \n \"clean\": true\n }, \n \"Tuesday\": {\n \"startTime\": \"10:00:00\", \n \"clean\": true\n }, \n \"Wednesday\": {\n \"startTime\": \"10:00:00\", \n \"clean\": true\n }, \n \"Thursday\": {\n \"startTime\": \"10:00:00\", \n \"clean\": true\n }, \n \"Friday\": {\n \"startTime\": \"10:00:00\", \n \"clean\": true\n }, \n \"Saturday\": {\n \"startTime\": \"10:00:00\", \n \"clean\": false\n }\n }\n\nErrors\n''''''\n\nAny error coming back from the robot's API is thrown as a ``RobotError``. Errors from networking/communication with the robot\nare thrown by ``requests`` and uncaught/unmodified by this library.\n\nKnown Issues\n============\nThis module is still a work in progress, so error handling and unit tests are pretty light and the API isn't complete yet\nThis first release only supports local communication with the robot; remote/cloud support is in progress\n\n.. _pypi: https://pypi.python.org/pypi/pyirobot\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/cseelye/pyirobot", "keywords": "irobot roomba", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyirobot", "package_url": "https://pypi.org/project/pyirobot/", "platform": "", "project_url": "https://pypi.org/project/pyirobot/", "project_urls": { "Homepage": "https://github.com/cseelye/pyirobot" }, "release_url": "https://pypi.org/project/pyirobot/1.0.6/", "requires_dist": null, "requires_python": "", "summary": "Control iRobot cleaning robots", "version": "1.0.6" }, "last_serial": 2584168, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "9ad7c15d8d52f4a809b1131e14d34250", "sha256": "597a7bfbb60512903a11d0a1f1118f024c1f7190d2a706cdf80d7a75df979d50" }, "downloads": -1, "filename": "pyirobot-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "9ad7c15d8d52f4a809b1131e14d34250", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6782, "upload_time": "2016-12-10T20:57:49", "url": "https://files.pythonhosted.org/packages/26/ef/931da0a0e989b8e5ba8cdd6e36a390752e357765b8757e8458591a75cf6d/pyirobot-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e8f3180670f4683439109b4223978b4", "sha256": "7573392f7052bb8d35c4e9184bfa265320289125d3ffcfd50d047d3d6128ced2" }, "downloads": -1, "filename": "pyirobot-1.0.2.tar.gz", "has_sig": false, "md5_digest": "5e8f3180670f4683439109b4223978b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4519, "upload_time": "2016-12-10T20:57:47", "url": "https://files.pythonhosted.org/packages/6f/ad/d94bf478657c73d2ae1a6059a773c81ee4b5c6eb65e36c4d1b9ae31c2913/pyirobot-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "6ee885ac6e6b4f743249b27f7c621714", "sha256": "12cfe26d2d0c5d16cd5b4af7d4582ec7567ce308fe5885543a812098319a4eeb" }, "downloads": -1, "filename": "pyirobot-1.0.3-py2.7.egg", "has_sig": false, "md5_digest": "6ee885ac6e6b4f743249b27f7c621714", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 15904, "upload_time": "2017-01-03T03:57:53", "url": "https://files.pythonhosted.org/packages/3c/13/e8aa919b6e3e8c5d0cf653efd4b3c4179da016439025394b9c800234448b/pyirobot-1.0.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "bd8d81e42aedf8d16e9cbf44f02a9c26", "sha256": "adad156a509353580dab93c8e49908a63e24443a8babfc5bdfd60959666c9c89" }, "downloads": -1, "filename": "pyirobot-1.0.3.tar.gz", "has_sig": false, "md5_digest": "bd8d81e42aedf8d16e9cbf44f02a9c26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7907, "upload_time": "2017-01-03T03:34:05", "url": "https://files.pythonhosted.org/packages/84/72/ba30a4806ddfb5b5ab7ada171db7979d81dac0ae3028f08c272ae3b984b0/pyirobot-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "50cff337bbcc36a162e768b4fb40ddba", "sha256": "ecd05d7b32f65112ef189ef7034f86ee00ee28475f8d0a6d2c2abdb7e38dbd19" }, "downloads": -1, "filename": "pyirobot-1.0.4-py2.7.egg", "has_sig": false, "md5_digest": "50cff337bbcc36a162e768b4fb40ddba", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 15907, "upload_time": "2017-01-03T21:02:08", "url": "https://files.pythonhosted.org/packages/01/c4/c6e88b73f317f772b57c27a72a7916a114c6ed9bdd06a8349aaf2fac9bda/pyirobot-1.0.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "4a9f90f506c9f6b6192525cf302f2c0d", "sha256": "9a3856e4bdaa9591aedb52529509129c8f5ed180a9cbe5decfdd15eae6a9b598" }, "downloads": -1, "filename": "pyirobot-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "4a9f90f506c9f6b6192525cf302f2c0d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10668, "upload_time": "2017-01-03T21:02:27", "url": "https://files.pythonhosted.org/packages/8d/af/db412d973bb18cc4bb366f35d5990b56bc963c78bbb2a1325163db18784d/pyirobot-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da963f612a335a3ceeaea396024bdf2d", "sha256": "098e9497e9cf05d2b4e3fad0fb357cab44379da3f248e0d3c609bb62b0ff5845" }, "downloads": -1, "filename": "pyirobot-1.0.4.tar.gz", "has_sig": false, "md5_digest": "da963f612a335a3ceeaea396024bdf2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7914, "upload_time": "2017-01-03T21:01:31", "url": "https://files.pythonhosted.org/packages/74/42/2b8d5faa232ca5f721e90edf3b9e5e0dc937c2ef8fcdec7755b4ae398dbe/pyirobot-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "e439c5028d2a73a65e6fdd84130e7bf7", "sha256": "1836ba99c767ad00b49a7f5371733812b079858c8497dad6778f7909857ef7e9" }, "downloads": -1, "filename": "pyirobot-1.0.5-py2.7.egg", "has_sig": false, "md5_digest": "e439c5028d2a73a65e6fdd84130e7bf7", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 15907, "upload_time": "2017-01-04T02:53:03", "url": "https://files.pythonhosted.org/packages/dd/8a/4f5f5acbbac82b0142187008ba9d66630624849147bfb92ebe8b5804df9d/pyirobot-1.0.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "38a8d2cb5b097049066f8f31735794d3", "sha256": "a6e03468cd6282304054ff11bed817a0b6436f8625e78e06a7dfe33437ee22b3" }, "downloads": -1, "filename": "pyirobot-1.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "38a8d2cb5b097049066f8f31735794d3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10671, "upload_time": "2017-01-04T02:53:08", "url": "https://files.pythonhosted.org/packages/7c/5c/ef6109f205deb2081795f8c661a1672028e847a0949dc95a72f49da022ae/pyirobot-1.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc831b7c965132d1c0afd47d9ccd097a", "sha256": "4d5977971378a03ca4cb9fe15e5a98c57e9721969f4942fd6f7aece8978584ca" }, "downloads": -1, "filename": "pyirobot-1.0.5-py3.6.egg", "has_sig": false, "md5_digest": "fc831b7c965132d1c0afd47d9ccd097a", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 16075, "upload_time": "2017-01-18T04:22:55", "url": "https://files.pythonhosted.org/packages/e6/ea/2ad8121433bbda5206ead6521a91d69b0a6a6e3c2a3e5d2294a23e9b48cb/pyirobot-1.0.5-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "0016cb86009f00e681eb8d3c81c3ce99", "sha256": "5c1fcfa4569d3abec9eb3528ae350f3f4c18fb405f99f733c0e3dd45da2d566e" }, "downloads": -1, "filename": "pyirobot-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0016cb86009f00e681eb8d3c81c3ce99", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10671, "upload_time": "2017-01-18T04:22:48", "url": "https://files.pythonhosted.org/packages/92/bf/7f7651422b54a1ad34f840935bdd85bfe5398a3ae62ee939d4b09db2983b/pyirobot-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34e4c25cc40cd566b749e37859346d76", "sha256": "147a66b0d32accb369632390ca05d6f697cb092597de923f8449ac92f163ed9f" }, "downloads": -1, "filename": "pyirobot-1.0.5.tar.gz", "has_sig": false, "md5_digest": "34e4c25cc40cd566b749e37859346d76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7911, "upload_time": "2017-01-04T02:52:55", "url": "https://files.pythonhosted.org/packages/aa/4d/4a0521069a5ed43d99970756a055dd446fac87d458e30069477d8287e239/pyirobot-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "2d945f316d76994d362a72d6ba0b169b", "sha256": "022019aaff8e7fc343f32155f5060c54fa68dbf8b711d7e1ce23af61eb9a71b5" }, "downloads": -1, "filename": "pyirobot-1.0.6-py2.7.egg", "has_sig": false, "md5_digest": "2d945f316d76994d362a72d6ba0b169b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 16291, "upload_time": "2017-01-19T04:26:37", "url": "https://files.pythonhosted.org/packages/1e/b0/8e5765ae683f7f47c32a70f1621dde916ecb315ed4b8beb294838941ce8f/pyirobot-1.0.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "6b210cf2e8754f26d32b5d6935e45187", "sha256": "9fcc4a3dba6657307b25de319beb754a7019aaf2c43c1868ccb13e614aa3da67" }, "downloads": -1, "filename": "pyirobot-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "6b210cf2e8754f26d32b5d6935e45187", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10828, "upload_time": "2017-01-19T04:26:56", "url": "https://files.pythonhosted.org/packages/5d/3f/6db8840172cc202ca1ea3a7911ec402a2771b63f1966f57fd441fb9d4fb2/pyirobot-1.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5916748ac7d7f1af6beb1d2c3076beff", "sha256": "a4ac12531ab9cc913ffb1bb9a68236f91b1add253d84c74f6410d876a5d586ae" }, "downloads": -1, "filename": "pyirobot-1.0.6-py3.5.egg", "has_sig": false, "md5_digest": "5916748ac7d7f1af6beb1d2c3076beff", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 16681, "upload_time": "2017-01-19T04:25:59", "url": "https://files.pythonhosted.org/packages/de/f7/65a44975b78acc598128e12452bd455a43265bc52156311de9abd7f9c732/pyirobot-1.0.6-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "cb05a548f756f11168fcfda2d03e6f77", "sha256": "dbdbb02e43de23b31fa26193411b96e00af9ff3ee789faed810dbeb59e97c0c2" }, "downloads": -1, "filename": "pyirobot-1.0.6-py3.6.egg", "has_sig": false, "md5_digest": "cb05a548f756f11168fcfda2d03e6f77", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 16445, "upload_time": "2017-01-19T04:24:22", "url": "https://files.pythonhosted.org/packages/11/ed/24a4bc2bb545c4c6aaf8085aa77d847e6f11f683c5dea2252263870e09dd/pyirobot-1.0.6-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "d58ce683200eaf359bf61a9305310bcd", "sha256": "5469e20e09706090dba1a5c56065f9943e32e46bea3f764c3ad36d8c4758f8b2" }, "downloads": -1, "filename": "pyirobot-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d58ce683200eaf359bf61a9305310bcd", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10829, "upload_time": "2017-01-19T04:24:28", "url": "https://files.pythonhosted.org/packages/6a/36/4e735bf99c390206319e37a532b7483c20786f36388a2b1e04bad2715703/pyirobot-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "403bc3fa5d29e3e176a95ba602ca0c67", "sha256": "1fa82e45a316f532e367701cd8748ead97ffe5a19625ac82c4c3e728c03a9be1" }, "downloads": -1, "filename": "pyirobot-1.0.6.tar.gz", "has_sig": false, "md5_digest": "403bc3fa5d29e3e176a95ba602ca0c67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8110, "upload_time": "2017-01-19T04:24:12", "url": "https://files.pythonhosted.org/packages/f6/14/f1fd6004807a7023c408d5b7b1863e999c853d460218ccfee1eb1eba21ff/pyirobot-1.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2d945f316d76994d362a72d6ba0b169b", "sha256": "022019aaff8e7fc343f32155f5060c54fa68dbf8b711d7e1ce23af61eb9a71b5" }, "downloads": -1, "filename": "pyirobot-1.0.6-py2.7.egg", "has_sig": false, "md5_digest": "2d945f316d76994d362a72d6ba0b169b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 16291, "upload_time": "2017-01-19T04:26:37", "url": "https://files.pythonhosted.org/packages/1e/b0/8e5765ae683f7f47c32a70f1621dde916ecb315ed4b8beb294838941ce8f/pyirobot-1.0.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "6b210cf2e8754f26d32b5d6935e45187", "sha256": "9fcc4a3dba6657307b25de319beb754a7019aaf2c43c1868ccb13e614aa3da67" }, "downloads": -1, "filename": "pyirobot-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "6b210cf2e8754f26d32b5d6935e45187", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10828, "upload_time": "2017-01-19T04:26:56", "url": "https://files.pythonhosted.org/packages/5d/3f/6db8840172cc202ca1ea3a7911ec402a2771b63f1966f57fd441fb9d4fb2/pyirobot-1.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5916748ac7d7f1af6beb1d2c3076beff", "sha256": "a4ac12531ab9cc913ffb1bb9a68236f91b1add253d84c74f6410d876a5d586ae" }, "downloads": -1, "filename": "pyirobot-1.0.6-py3.5.egg", "has_sig": false, "md5_digest": "5916748ac7d7f1af6beb1d2c3076beff", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 16681, "upload_time": "2017-01-19T04:25:59", "url": "https://files.pythonhosted.org/packages/de/f7/65a44975b78acc598128e12452bd455a43265bc52156311de9abd7f9c732/pyirobot-1.0.6-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "cb05a548f756f11168fcfda2d03e6f77", "sha256": "dbdbb02e43de23b31fa26193411b96e00af9ff3ee789faed810dbeb59e97c0c2" }, "downloads": -1, "filename": "pyirobot-1.0.6-py3.6.egg", "has_sig": false, "md5_digest": "cb05a548f756f11168fcfda2d03e6f77", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 16445, "upload_time": "2017-01-19T04:24:22", "url": "https://files.pythonhosted.org/packages/11/ed/24a4bc2bb545c4c6aaf8085aa77d847e6f11f683c5dea2252263870e09dd/pyirobot-1.0.6-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "d58ce683200eaf359bf61a9305310bcd", "sha256": "5469e20e09706090dba1a5c56065f9943e32e46bea3f764c3ad36d8c4758f8b2" }, "downloads": -1, "filename": "pyirobot-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d58ce683200eaf359bf61a9305310bcd", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10829, "upload_time": "2017-01-19T04:24:28", "url": "https://files.pythonhosted.org/packages/6a/36/4e735bf99c390206319e37a532b7483c20786f36388a2b1e04bad2715703/pyirobot-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "403bc3fa5d29e3e176a95ba602ca0c67", "sha256": "1fa82e45a316f532e367701cd8748ead97ffe5a19625ac82c4c3e728c03a9be1" }, "downloads": -1, "filename": "pyirobot-1.0.6.tar.gz", "has_sig": false, "md5_digest": "403bc3fa5d29e3e176a95ba602ca0c67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8110, "upload_time": "2017-01-19T04:24:12", "url": "https://files.pythonhosted.org/packages/f6/14/f1fd6004807a7023c408d5b7b1863e999c853d460218ccfee1eb1eba21ff/pyirobot-1.0.6.tar.gz" } ] }