{ "info": { "author": "Honza Slesinger", "author_email": "slesinger@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PyBmr\n\nPython library for communication with BMR HC64 Heating Controller units.\n\nProduct website: https://bmr.cz/produkty/regulace-topeni/rnet\n\n\n## Install:\n\n```\npython3 -m pip install pybmr\n```\n\n## Usage examples\n\n### Create connection\n\n```\nfrom pybmr import pybmr\n\nbmr = pybmr.Bmr(\"http://192.168.1.5/\", \"username, \"password\")\n```\n\n### Circuits\n\nGet number of circuits:\n\n```\nnumCircuits = bmr.getNumCircuits()\n```\n\nLoad circuit status:\n\n```\ncircuit = bmr.getCircuit(0)\nprint(f\"Circuit {circuit['name']}: temperature is {circuit['temperature']} \u00b0C, target temperature is {circuit['target_temperature'} \u00b0C\")\n```\n\nLoad circuit schedules (what schedule is assigned to what day). It is possible to assign a different schedule for up to 21 days.\n\n```\ncircuit_schedules = bmr.getCircuitSchedules(0)\nprint(f\"Circuit 0 schedule for the first day is {circuit_schedules['day_schedules'][0]}\")\n```\n\nSave circuit schedules:\n\n```\nbmr.setCircuitSchedules(0, [0, 8])\n```\n\n\n### Schedules\n\nLoad schedules:\n\n```\nschedules = bmr.getSchedules()\nprint(schedule[0]) # Print the name of first schedule\n```\n\nGet schedule details:\n\n```\nschedule = bmr.getSchedule(0)\nprint(f\"Schedule {schedule['name']} has timetable {schedule['timetable']}\")\n```\n\nSave schedule:\n\n```\nbmr.setSchedule(0, \"New schedule name\", [(\"00:00\", 21), (\"06:00\", 23), (\"21:00\", 21)])\n```\n\nDelete schedule:\n\n```\nbmr.deleteSchedule(0)\n```\n\n### Summer mode\n\nGet summer mode:\n\n```\nif bmr.getSummerMode():\n print(\"Summer mode is ON\")\nelse:\n print(\"Summer mode is OFF\")\n```\n\nSet summer mode:\n\n```\nbmr.setSummerMode(True):\n```\n\nLoad summer mode assignments (which circuits will be affected by turning the\nsummer mode on):\n\n```\nassignments = bmr.getSummerModeAssignments()\nfor circuit_id, value in enumerate(assignments):\n if value:\n print(f\"Circuit {circuit_id} is assigned to summer mode.\")\n else:\n print(f\"Circuit {circuit_id} is NOT assigned to summer mode.\")\n```\n\nAdd circuits to summer mode:\n\n```\nbmr.setSummerModeAssignments([0, 1, 2], True)\n```\n\nRemove circuits from summer mode:\n\n```\nbmr.setSummerModeAssignments([0, 1, 2], False)\n```\n\n### Low mode\n\nGet low mode:\n\n```\nlow_mode = bmr.getLowMode()\nif low_mode['enabled']:\n print(f\"Low mode is turned ON since {low_mode['start_date']}, target temperature is {low_mode['temperature']}\")\n if low_mode['end_date']:\n print(f\"It will be turned off automatically on {low_mode['end_date']}\")\n```\n\nTurn the low mode ON, set temperature to 18\u00b0C:\n\n```\nbmr.setLowMode(True, 18)\n```\n\nTurn the low mode ON and let it turn OFF automatically after 3 days:\n\n```\nbmr.setLowMode(True, 18, datetime.now(), datetime.now() + timedelta(days=3))\n```\n\nTurn the low mode OFF:\n\n```\nbmr.setLowMode(False)\n```\n\nLoad low mode assignments (which circuits will be affected by turning the\nlow mode on):\n\n```\nassignments = bmr.getLowModeAssignments()\nfor circuit_id, value in enumerate(assignments):\n if value:\n print(f\"Circuit {circuit_id} is assigned to low mode.\")\n else:\n print(f\"Circuit {circuit_id} is NOT assigned to low mode.\")\n```\n\nAdd circuits to low mode:\n\n```\nbmr.setLowModeAssignments([0, 1, 2, 6, 7, 8], True)\n```\n\nRemove circuits from low mode:\n\n```\nbmr.setLowModeAssignments([0, 1, 2, 6, 7, 8], False)\n```\n\n### HDO\n\nLoad HDO status:\n\n```\nhdo = bmr.getHDO()\nif hdo:\n print(\"HDO is currently ON\")\nelse:\n print(\"HDO is currently OFF\")\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/slesinger/pybmr", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pybmr", "package_url": "https://pypi.org/project/pybmr/", "platform": "", "project_url": "https://pypi.org/project/pybmr/", "project_urls": { "Homepage": "https://github.com/slesinger/pybmr" }, "release_url": "https://pypi.org/project/pybmr/0.7.1/", "requires_dist": null, "requires_python": "", "summary": "Python library for communication with BMR HC64 Heating Controller units", "version": "0.7.1", "yanked": false, "yanked_reason": null }, "last_serial": 7683886, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "8369655b353688ee3099ec28b9cfe597", "sha256": "02b6169ca222629493729b60a2e4577e47e1236555fbc3793e5f5ad597ca2ec3" }, "downloads": -1, "filename": "pybmr-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "8369655b353688ee3099ec28b9cfe597", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7722, "upload_time": "2019-10-21T16:14:58", "upload_time_iso_8601": "2019-10-21T16:14:58.625057Z", "url": "https://files.pythonhosted.org/packages/77/72/72e87401137ae009746188d2374679b49f9f1b2d359fc55967c1c1e3f67f/pybmr-0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2d3bc5769454bc6ed7150bf466358b24", "sha256": "444bbd8561fb7851c4683f763cce0cb35515e8fab83f946e43fd0a0d8bcbba03" }, "downloads": -1, "filename": "pybmr-0.5.tar.gz", "has_sig": false, "md5_digest": "2d3bc5769454bc6ed7150bf466358b24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3295, "upload_time": "2019-10-21T16:15:03", "upload_time_iso_8601": "2019-10-21T16:15:03.834296Z", "url": "https://files.pythonhosted.org/packages/74/e9/c9e3b101715fecc74dc8ab4d1aed6fabd10059125f53824aaef903c9cc4a/pybmr-0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6": [ { "comment_text": "", "digests": { "md5": "7a88ab091c6b0d12fdb246b7e2ac9463", "sha256": "0bc3568cae91916a9f7cb58dfe52af8b7e1f87cd269edf4322af0ee99dd7acfc" }, "downloads": -1, "filename": "pybmr-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7a88ab091c6b0d12fdb246b7e2ac9463", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7780, "upload_time": "2019-12-28T20:39:18", "upload_time_iso_8601": "2019-12-28T20:39:18.412563Z", "url": "https://files.pythonhosted.org/packages/63/e9/5b6839cedd8cdaf080ea2fed36ff75019c47326520063da128aefe8866ea/pybmr-0.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "31e3325d942ba7c50e4847bb5455484e", "sha256": "f9beca93354f8e1744f0d3fd23fe9581e71bb01fc2a20970aee9382e44b53501" }, "downloads": -1, "filename": "pybmr-0.6.tar.gz", "has_sig": false, "md5_digest": "31e3325d942ba7c50e4847bb5455484e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3363, "upload_time": "2019-12-28T20:39:20", "upload_time_iso_8601": "2019-12-28T20:39:20.783652Z", "url": "https://files.pythonhosted.org/packages/fb/7d/7f835f250a21604f5e9ac6d11996c51bb0f8d952a642414b2043ba47a6ac/pybmr-0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7": [ { "comment_text": "", "digests": { "md5": "8afabecbae8de55ed764ec97774dfa53", "sha256": "6952ae218f1338ae709a193d01280424f3b1d53cbbeb756e0267cab067ed79c9" }, "downloads": -1, "filename": "pybmr-0.7.tar.gz", "has_sig": false, "md5_digest": "8afabecbae8de55ed764ec97774dfa53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10181, "upload_time": "2020-07-10T16:22:12", "upload_time_iso_8601": "2020-07-10T16:22:12.980407Z", "url": "https://files.pythonhosted.org/packages/8d/f5/406be84b1d078985c00da21f7e21de1833a5d69a7fe4debb6ac42eb220f9/pybmr-0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "235f8ca2336b0a461eaf7604f2f1f92c", "sha256": "b39a9a7d2d6b26b24a8d5b446067b1289d44e66b60fc921cebc22bc319718741" }, "downloads": -1, "filename": "pybmr-0.7.1.tar.gz", "has_sig": false, "md5_digest": "235f8ca2336b0a461eaf7604f2f1f92c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9803, "upload_time": "2020-07-12T07:34:39", "upload_time_iso_8601": "2020-07-12T07:34:39.092593Z", "url": "https://files.pythonhosted.org/packages/32/7d/30e0a5852c15e530e60ba89aae58fc7f20e6a1e50bbd3e047cdaad89904f/pybmr-0.7.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "235f8ca2336b0a461eaf7604f2f1f92c", "sha256": "b39a9a7d2d6b26b24a8d5b446067b1289d44e66b60fc921cebc22bc319718741" }, "downloads": -1, "filename": "pybmr-0.7.1.tar.gz", "has_sig": false, "md5_digest": "235f8ca2336b0a461eaf7604f2f1f92c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9803, "upload_time": "2020-07-12T07:34:39", "upload_time_iso_8601": "2020-07-12T07:34:39.092593Z", "url": "https://files.pythonhosted.org/packages/32/7d/30e0a5852c15e530e60ba89aae58fc7f20e6a1e50bbd3e047cdaad89904f/pybmr-0.7.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }