{ "info": { "author": "Philipp Klaus", "author_email": "klaus@physik.uni-frankfurt.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Topic :: System :: Logging", "Topic :: System :: Monitoring" ], "description": "opus20 - a Python interface to the OPUS20\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThis is a *opus20*, a Python software to query the temperature /\nhumidity / air pressure logging device OPUS20 produced by Lufft.\n\nThe source code is `managed on Github:\npklaus/opus20 `__. The Python package\nis also `registered on PyPI `__ for\neasy installation.\n\nRequirements and Installation\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nThe only strict requirement for the bare opus20 package is Python\nversion 3.3+. Then, the package can be installed via pip directly from\nPyPI:\n\n::\n\n pip install --upgrade opus20\n\nThe package comes with an (optional) plot web server, too. It depends on\nsome more Python packages. To install those requirements as well, run\nthis command:\n\n::\n\n pip install --upgrade opus20[webserver]\n\nThis will install further packages like jinja2, bottle, matplotlib,\npandas, and numpy. (Installing matplotlib may also require you to\ninstall the python development package for Python 3.)\n\nUsage\n^^^^^\n\nThe Python package installs a command line tool to query the device for\ncurrent values. It's called ``opus20_cli``.\n\nHere is how to get a list of all available *channels* from the device:\n\n::\n\n philipp@lion:~> opus20_cli 192.168.1.55 list\n Channel 100 (0x0064): CUR temperature unit: \u00b0C offset: \u00b110.0 logging: no\n Channel 120 (0x0078): MIN temperature unit: \u00b0C offset: \u00b110.0 logging: no\n Channel 140 (0x008C): MAX temperature unit: \u00b0C offset: \u00b110.0 logging: no\n Channel 160 (0x00A0): AVG temperature unit: \u00b0C offset: \u00b110.0 logging: yes\n Channel 105 (0x0069): CUR temperature unit: \u00b0F offset: 0.0 logging: no\n Channel 125 (0x007D): MIN temperature unit: \u00b0F offset: 0.0 logging: no\n Channel 145 (0x0091): MAX temperature unit: \u00b0F offset: 0.0 logging: no\n Channel 165 (0x00A5): AVG temperature unit: \u00b0F offset: 0.0 logging: no\n Channel 200 (0x00C8): CUR relative humidity unit: % offset: \u00b130.0 logging: no\n Channel 220 (0x00DC): MIN relative humidity unit: % offset: \u00b130.0 logging: no\n Channel 240 (0x00F0): MAX relative humidity unit: % offset: \u00b130.0 logging: no\n Channel 260 (0x0104): AVG relative humidity unit: % offset: \u00b130.0 logging: yes\n Channel 205 (0x00CD): CUR absolute humidity unit: g/m\u00b3 offset: 0.0 logging: no\n Channel 225 (0x00E1): MIN absolute humidity unit: g/m\u00b3 offset: 0.0 logging: no\n Channel 245 (0x00F5): MAX absolute humidity unit: g/m\u00b3 offset: 0.0 logging: no\n Channel 265 (0x0109): AVG absolute humidity unit: g/m\u00b3 offset: 0.0 logging: yes\n Channel 110 (0x006E): CUR dewpoint unit: \u00b0C offset: 0.0 logging: no\n Channel 130 (0x0082): MIN dewpoint unit: \u00b0C offset: 0.0 logging: no\n Channel 150 (0x0096): MAX dewpoint unit: \u00b0C offset: 0.0 logging: no\n Channel 170 (0x00AA): AVG dewpoint unit: \u00b0C offset: 0.0 logging: yes\n Channel 115 (0x0073): CUR dewpoint unit: \u00b0F offset: 0.0 logging: no\n Channel 135 (0x0087): MIN dewpoint unit: \u00b0F offset: 0.0 logging: no\n Channel 155 (0x009B): MAX dewpoint unit: \u00b0F offset: 0.0 logging: no\n Channel 175 (0x00AF): AVG dewpoint unit: \u00b0F offset: 0.0 logging: no\n Channel 10020 (0x2724): CUR battery voltage unit: V offset: 0.0 logging: no\n Channel 10040 (0x2738): MIN battery voltage unit: V offset: 0.0 logging: no\n Channel 10060 (0x274C): MAX battery voltage unit: V offset: 0.0 logging: no\n Channel 10080 (0x2760): AVG battery voltage unit: V offset: 0.0 logging: yes\n\nAsking for the value of a channel works like this:\n\n::\n\n philipp@lion:~> opus20_cli 192.168.1.55 get 0x0064\n 24.712\n\nYou can also download the values stored on the device and store them in\na file:\n\n::\n\n philipp@lion:~> opus20_cli --loglevel INFO 192.168.1.55 download log_data.pickle\n INFO:opus20.opus20:Connected to device with ID: EC9C0A06B183\n INFO:opus_cli:script running time (net): 1.208517 seconds.\n philipp@lion:~>\n\nHere is an overview of all the possible CLI commands:\n\n::\n\n # List all possible channels:\n opus20_cli 192.168.1.55 list\n\n # Get the values for the specified channels (CUR, MIN, MAX temperature in \u00b0C):\n opus20_cli 192.168.1.55 get 0x0064 0x0078 0x008C\n\n # Download the latest log data and merge it into a persistant data file:\n opus20_cli 192.168.1.55 download opus20.PickleStore.p\n\n # Check if logging in general is enabled on the device:\n opus20_cli 192.168.1.55 logging status\n opus20_cli 192.168.1.55 logging start\n opus20_cli 192.168.1.55 logging stop\n # Or clear the log:\n opus20_cli 192.168.1.55 logging clear\n\n # Enable or disable logging for individual channels:\n opus20_cli 192.168.1.55 enable 0x0064 0x0078 0x008C\n opus20_cli 192.168.1.55 disable 0x00CD 0x00E1 0x00F5\n\nAuthor\n^^^^^^\n\n- \n\n (c) 2015, Philipp Klaus\n klaus@physik.uni-frankfurt.de\n Ported the software to Python, extended and packaged it.\n\n- \n\n (c) 2012, `Ondics GmbH `__\n githubler@ondics.de\n The author of the `original\n scripts `__\n (written as Bash scripts + netcat & gawk)\n\nLicense\n^^^^^^^\n\nGPLv3", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "Lufft Opus20", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "opus20", "package_url": "https://pypi.org/project/opus20/", "platform": "any", "project_url": "https://pypi.org/project/opus20/", "project_urls": null, "release_url": "https://pypi.org/project/opus20/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "Interface to Lufft OPUS20 devices", "version": "1.0.1" }, "last_serial": 3095821, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "10eb6405ac23e0094f22464fe6722673", "sha256": "e661981e3ac94166ba24665475c39d74c1fb24888283fd1da68750763ae3fb94" }, "downloads": -1, "filename": "opus20-1.0.1.tar.gz", "has_sig": false, "md5_digest": "10eb6405ac23e0094f22464fe6722673", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20971, "upload_time": "2017-08-14T16:31:44", "url": "https://files.pythonhosted.org/packages/81/a7/814ed6ece23becdcde23133887b5da23b0b329ed9d0f4bfaa43f8b47bc73/opus20-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "10eb6405ac23e0094f22464fe6722673", "sha256": "e661981e3ac94166ba24665475c39d74c1fb24888283fd1da68750763ae3fb94" }, "downloads": -1, "filename": "opus20-1.0.1.tar.gz", "has_sig": false, "md5_digest": "10eb6405ac23e0094f22464fe6722673", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20971, "upload_time": "2017-08-14T16:31:44", "url": "https://files.pythonhosted.org/packages/81/a7/814ed6ece23becdcde23133887b5da23b0b329ed9d0f4bfaa43f8b47bc73/opus20-1.0.1.tar.gz" } ] }