{ "info": { "author": "fquinto", "author_email": "fran.quinto@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Home Automation", "Topic :: System :: Monitoring", "Topic :: System :: Shells" ], "description": "# pywibeee\n\nCommand line interface (CLI) for WiBeee (old Mirubee) meter.\n\n## Features\n\n- Autodiscover the host (IP) of the meter in a network\n- Get version of the meter\n- Get model of the meter\n- Get info of the meter: (version + model + host)\n- Get status meter data\n- Get sensors of the meter\n- Action: reset energy counter\n- Action: reboot of the meter (via web or via special command)\n- Several outputs when recieve data: xml, json, file, plain text\n\n## Requirements\n\n`pip install xmltodict requests`\n\n# Installation\n\nInstall Python CLI package [pywibeee](https://pypi.org/project/pywibeee/)\n\n```\n$ pip install pywibeee --upgrade\n```\n\n# Usage\n\n```\n$ pywibeee -h\n\nusage: pywibeee [-h] [-version] (--host HOST | --auto) [-t SETTIMEOUT]\n [-o {xml,json,plain,file}]\n (-a {reboot,rebootweb,resetenergy} | -g {model,version,status,info,sensors})\n\nCLI for WiBeee (old Mirubee) meter\n\noptional arguments:\n -h, --help show this help message and exit\n -version, --version show program's version number and exit\n --host HOST The host (or the IP) of the meter.\n --auto Autodiscover host function, look IP on net.\n -t SETTIMEOUT, --settimeout SETTIMEOUT\n set timeout in seconds (default 10)\n -o {xml,json,plain,file}, --output {xml,json,plain,file}\n xml|json|plain|file\n -a {reboot,rebootweb,resetenergy}, --action {reboot,rebootweb,resetenergy}\n reboot|rebootweb|resetenergy\n -g {model,version,status,info,sensors}, --get {model,version,status,info,sensors}\n model|version|status|info|sensors\n\nEnjoy! :)\n```\n\n## Use examples\n\n### Get version\n\n```\n$ pywibeee --host 192.168.1.150 --get version\n{\"response\": {\"webversion\": \"3.4.614\"}}\n```\n\n### Get model\n\n```\n$ pywibeee --host 192.168.1.150 --get model\n{\"response\": {\"model\": \"WBB\", \"model_description\": \"Wibeee BOX\"}}\n```\n\n### Get info\n\n```\n$ pywibeee --host 192.168.1.150 -g info\n{\"response\": {\"model\": \"WBB\", \"model_description\": \"Wibeee BOX\", \"webversion\": \"3.4.614\", \"host\": \"192.168.1.150\"}}\n```\n\n### Get sensors with autodiscover\n\n```\n$ pywibeee --auto -g sensors\n{\"vrms\": [\"Vrms\", \"V\", \"mdi:power-plug\"], \"irms\": [\"Irms\", \"A\", \"mdi:flash-auto\"], \"p_aparent\": [\"Apparent Power\", \"VA\", \"mdi:flash-circle\"], \"p_activa\": [\"Active Power\", \"W\", \"mdi:flash\"], \"p_reactiva_ind\": [\"Inductive Reactive Power\", \"VArL\", \"mdi:flash-outline\"], \"p_reactiva_cap\": [\"Capacitive Reactive Power\", \"VArC\", \"mdi:flash-outline\"], \"frecuencia\": [\"Frequency\", \"Hz\", \"mdi:current-ac\"], \"factor_potencia\": [\"Power Factor\", \" \", \"mdi:math-cos\"], \"energia_activa\": [\"Active Energy\", \"Wh\", \"mdi:pulse\"], \"energia_reactiva_ind\": [\"Inductive Reactive Energy\", \"VArLh\", \"mdi:alpha-e-circle-outline\"], \"energia_reactiva_cap\": [\"Capacitive Reactive Energy\", \"VArCh\", \"mdi:alpha-e-circle-outline\"], \"angle\": [\"Angle\", \"\\u00b0\", \"mdi:angle-acute\"], \"thd_total\": [\"THD Current\", \"%\", \"mdi:chart-bubble\"], \"thd_fund\": [\"THD Current (fundamental)\", \"A\", \"mdi:vector-point\"], \"thd_ar3\": [\"THD Current Harmonic 3\", \"A\", \"mdi:numeric-3\"], \"thd_ar5\": [\"THD Current Harmonic 5\", \"A\", \"mdi:numeric-5\"], \"thd_ar7\": [\"THD Current Harmonic 7\", \"A\", \"mdi:numeric-7\"], \"thd_ar9\": [\"THD Current Harmonic 9\", \"A\", \"mdi:numeric-9\"], \"thd_tot_V\": [\"THD Voltage\", \"%\", \"mdi:chart-bubble\"], \"thd_fun_V\": [\"THD Voltage (fundamental)\", \"V\", \"mdi:vector-point\"], \"thd_ar3_V\": [\"THD Voltage Harmonic 3\", \"V\", \"mdi:numeric-3\"], \"thd_ar5_V\": [\"THD Voltage Harmonic 5\", \"V\", \"mdi:numeric-5\"], \"thd_ar7_V\": [\"THD Voltage Harmonic 7\", \"V\", \"mdi:numeric-7\"], \"thd_ar9_V\": [\"THD Voltage Harmonic 9\", \"V\", \"mdi:numeric-9\"]}\n```\n\n### Get status\n\n```\n$ pywibeee --host 192.168.1.150 --get status\n{\"response\": {\"model\": \"WBB\", \"webversion\": \"3.4.614\", \"time\": \"1570484447\", \"fase1_vrms\": \"228.70\", \"fase1_irms\": \"1.59\", \"fase1_p_aparent\": \"362.65\", \"fase1_p_activa\": \"264.34\", \"fase1_p_reactiva_ind\": \"0.00\", \"fase1_p_reactiva_cap\": \"248.27\", \"fase1_frecuencia\": \"50.08\", \"fase1_factor_potencia\": \"-0.729\", \"fase1_energia_activa\": \"222157\", \"fase1_energia_reactiva_ind\": \"4631\", \"fase1_energia_reactiva_cap\": \"188269\", \"fase1_angle\": \"0.00\", \"fase1_thd_total\": \"64.60\", \"fase1_thd_fund\": \"1.40\", \"fase1_thd_ar3\": \"0.60\", \"fase1_thd_ar5\": \"0.50\", \"fase1_thd_ar7\": \"0.40\", \"fase1_thd_ar9\": \"0.40\", \"fase1_thd_tot_V\": \"0.00\", \"fase1_thd_fun_V\": \"228.50\", \"fase1_thd_ar3_V\": \"0.00\", \"fase1_thd_ar5_V\": \"0.00\", \"fase1_thd_ar7_V\": \"0.00\", \"fase1_thd_ar9_V\": \"0.00\", \"fase2_vrms\": \"228.70\", \"fase2_irms\": \"0.34\", \"fase2_p_aparent\": \"76.77\", \"fase2_p_activa\": \"50.99\", \"fase2_p_reactiva_ind\": \"0.00\", \"fase2_p_reactiva_cap\": \"0.00\", \"fase2_frecuencia\": \"50.08\", \"fase2_factor_potencia\": \"-0.664\", \"fase2_energia_activa\": \"47714\", \"fase2_energia_reactiva_ind\": \"5021\", \"fase2_energia_reactiva_cap\": \"641\", \"fase2_angle\": \"0.00\", \"fase2_thd_total\": \"0.00\", \"fase2_thd_fund\": \"0.00\", \"fase2_thd_ar3\": \"0.00\", \"fase2_thd_ar5\": \"0.00\", \"fase2_thd_ar7\": \"0.00\", \"fase2_thd_ar9\": \"0.00\", \"fase2_thd_tot_V\": \"0.00\", \"fase2_thd_fun_V\": \"228.50\", \"fase2_thd_ar3_V\": \"0.00\", \"fase2_thd_ar5_V\": \"0.00\", \"fase2_thd_ar7_V\": \"0.00\", \"fase2_thd_ar9_V\": \"0.00\", \"fase3_vrms\": \"228.70\", \"fase3_irms\": \"1.53\", \"fase3_p_aparent\": \"349.48\", \"fase3_p_activa\": \"265.40\", \"fase3_p_reactiva_ind\": \"0.00\", \"fase3_p_reactiva_cap\": \"227.37\", \"fase3_frecuencia\": \"50.08\", \"fase3_factor_potencia\": \"0.759\", \"fase3_energia_activa\": \"187069\", \"fase3_energia_reactiva_ind\": \"196\", \"fase3_energia_reactiva_cap\": \"159927\", \"fase3_angle\": \"0.00\", \"fase3_thd_total\": \"66.10\", \"fase3_thd_fund\": \"1.30\", \"fase3_thd_ar3\": \"0.60\", \"fase3_thd_ar5\": \"0.50\", \"fase3_thd_ar7\": \"0.40\", \"fase3_thd_ar9\": \"0.00\", \"fase3_thd_tot_V\": \"0.00\", \"fase3_thd_fun_V\": \"228.50\", \"fase3_thd_ar3_V\": \"0.00\", \"fase3_thd_ar5_V\": \"0.00\", \"fase3_thd_ar7_V\": \"0.00\", \"fase3_thd_ar9_V\": \"0.00\", \"fase4_vrms\": \"228.70\", \"fase4_irms\": \"3.45\", \"fase4_p_aparent\": \"788.90\", \"fase4_p_activa\": \"49.93\", \"fase4_p_reactiva_ind\": \"0.00\", \"fase4_p_reactiva_cap\": \"20.90\", \"fase4_frecuencia\": \"50.08\", \"fase4_factor_potencia\": \"-0.063\", \"fase4_energia_activa\": \"456941\", \"fase4_energia_reactiva_ind\": \"9849\", \"fase4_energia_reactiva_cap\": \"348839\", \"scale\": \"100\", \"coilStatus\": null, \"ground\": \"0.00\", \"model_description\": \"Wibeee BOX\"}}\n```\n\n# Notes\n\n- Default IP for WiBeee (old Mirubee): 192.168.1.150\n- Default usernames / passwords:\n - Basic: `user / user`\n - Admin: `admin / Sm1l1cs?`\n - Admin another: `admin / Wib333?`\n- OTA comands: WbStartBootloaderProccess, WbFinishBootloaderProccess\n- Last (11/09/2019) OTA firmware file url: https://app.mirubee.com/api/fw/wbb/FOTAFile_V3.4.614_WBB.bin\n - MD5: 57d8c4a3c77e510fe0ae6ff44cdb7afc\n\n# Models description WiBeee\n\n - WBM = Wibeee 1Ph\n - WBT = Wibeee 3Ph\n - WMX = Wibeee MAX\n - WTD = Wibeee 3Ph RN\n - WX2 = Wibeee MAX 2S\n - WX3 = Wibeee MAX 3S\n - WXX = Wibeee MAX MS\n - WBB = Wibeee BOX\n - WB3 = Wibeee BOX S3P\n - W3P = Wibeee 3Ph 3W\n - WGD = Wibeee GND\n - WBP = Wibeee SMART PLUG\n\n# Installation alternatives (getting latest source code)\n\nIf you want to install latest source code:\n\n`$ pip install git+http://github.com/fquinto/pywibeee`\n\nor\n\n```\n$ git clone git://github.com/fquinto/pywibeee\n$ cd pywibeee\n$ python setup.py install\n```\n\n# Changelog\n\n- 0.0.1 First draft functional version.\n- 0.0.2 Improve json output. Remove dependency jxmlease. New dependency xmltodict. Added model description.\n\n# Future development\n\n- Improve another models.\n\n# Development CLI for Python references\n\n- https://realpython.com/command-line-interfaces-python-argparse/\n\n\n- `pip3 install --user pipenv`\n- `pipenv install requests`\n- `pipenv install xmltodict`\n\n```\npipenv shell\npipenv run\n```\n\n## Generating distribution archives\n\n- `python3 -m pip install --user --upgrade setuptools wheel`\n- `python3 setup.py sdist bdist_wheel`\n- `python setup.py sdist`\n- `python -m pip install .`\n- `python tests/test_project.py`\n\n# License\n\nGNU General Public License version 2\n\n- https://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n- https://choosealicense.com/licenses/gpl-2.0/\n- https://opensource.org/licenses/GPL-2.0\n\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/fquinto/pywibeee", "keywords": "cli interface wibeee mirubeee meter hass", "license": "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "maintainer": "", "maintainer_email": "", "name": "pywibeee", "package_url": "https://pypi.org/project/pywibeee/", "platform": "", "project_url": "https://pypi.org/project/pywibeee/", "project_urls": { "Homepage": "https://github.com/fquinto/pywibeee" }, "release_url": "https://pypi.org/project/pywibeee/0.0.2/", "requires_dist": [ "xmltodict", "requests" ], "requires_python": ">=3.5", "summary": "Command line interface (CLI) for WiBeee (old Mirubee) meter", "version": "0.0.2" }, "last_serial": 5941773, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d24a81160345e24175a09437aaf2272c", "sha256": "1a1bc647f74d4690c629bbb6f99efa5fa3a594513e629b4bf1f7ce9c9f3f424a" }, "downloads": -1, "filename": "pywibeee-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d24a81160345e24175a09437aaf2272c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 15529, "upload_time": "2019-09-11T17:49:57", "url": "https://files.pythonhosted.org/packages/b7/ca/f74b276089a8e10835293946c444284a29bf5fb5781f6bdb76c340d5f3a8/pywibeee-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f22ab6e2957a36b4a32f1eb4ba35bb1b", "sha256": "e9a0fa97f782428ad3834e7a93dbb95e7854682979e4721f510d8617a13b7329" }, "downloads": -1, "filename": "pywibeee-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f22ab6e2957a36b4a32f1eb4ba35bb1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18036, "upload_time": "2019-09-11T17:50:00", "url": "https://files.pythonhosted.org/packages/51/50/3f5c9654fc9260afdd7789f08ed8804951a479c26b9cbf34d4f9d48c0b5f/pywibeee-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "8fa6e8f198f8f27cbf7d03809f262d1c", "sha256": "0addb9f07fce64ca78f5216d022515ce0b20c1b8cb23c74abd04b33b69455757" }, "downloads": -1, "filename": "pywibeee-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8fa6e8f198f8f27cbf7d03809f262d1c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 16219, "upload_time": "2019-10-07T22:14:00", "url": "https://files.pythonhosted.org/packages/44/3a/c366984e0398c3ca2913b8559fe597885c85d684f544f692c540327efafd/pywibeee-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2656f84bb764bcce7055bf81fa264b7", "sha256": "16fb7a7f13b1cb9177d744f9031fc3f33d967b6d817b439e6cddc01da6a8043f" }, "downloads": -1, "filename": "pywibeee-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d2656f84bb764bcce7055bf81fa264b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18796, "upload_time": "2019-10-07T22:14:02", "url": "https://files.pythonhosted.org/packages/26/d9/35d5e4447957d3626b73188fee0d57193d253e3e035ee8a2f5689d4067ee/pywibeee-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8fa6e8f198f8f27cbf7d03809f262d1c", "sha256": "0addb9f07fce64ca78f5216d022515ce0b20c1b8cb23c74abd04b33b69455757" }, "downloads": -1, "filename": "pywibeee-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8fa6e8f198f8f27cbf7d03809f262d1c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 16219, "upload_time": "2019-10-07T22:14:00", "url": "https://files.pythonhosted.org/packages/44/3a/c366984e0398c3ca2913b8559fe597885c85d684f544f692c540327efafd/pywibeee-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2656f84bb764bcce7055bf81fa264b7", "sha256": "16fb7a7f13b1cb9177d744f9031fc3f33d967b6d817b439e6cddc01da6a8043f" }, "downloads": -1, "filename": "pywibeee-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d2656f84bb764bcce7055bf81fa264b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18796, "upload_time": "2019-10-07T22:14:02", "url": "https://files.pythonhosted.org/packages/26/d9/35d5e4447957d3626b73188fee0d57193d253e3e035ee8a2f5689d4067ee/pywibeee-0.0.2.tar.gz" } ] }