summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-opus20.spec477
-rw-r--r--sources1
3 files changed, 479 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..3d36ed8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/opus20-1.0.1.tar.gz
diff --git a/python-opus20.spec b/python-opus20.spec
new file mode 100644
index 0000000..db5ef4e
--- /dev/null
+++ b/python-opus20.spec
@@ -0,0 +1,477 @@
+%global _empty_manifest_terminate_build 0
+Name: python-opus20
+Version: 1.0.1
+Release: 1
+Summary: Interface to Lufft OPUS20 devices
+License: GPL
+URL: https://pypi.org/project/opus20/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/81/a7/814ed6ece23becdcde23133887b5da23b0b329ed9d0f4bfaa43f8b47bc73/opus20-1.0.1.tar.gz
+BuildArch: noarch
+
+
+%description
+opus20 - a Python interface to the OPUS20
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is a *opus20*, a Python software to query the temperature /
+humidity / air pressure logging device OPUS20 produced by Lufft.
+
+The source code is `managed on Github:
+pklaus/opus20 <https://github.com/pklaus/opus20>`__. The Python package
+is also `registered on PyPI <https://pypi.python.org/pypi/opus20>`__ for
+easy installation.
+
+Requirements and Installation
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The only strict requirement for the bare opus20 package is Python
+version 3.3+. Then, the package can be installed via pip directly from
+PyPI:
+
+::
+
+ pip install --upgrade opus20
+
+The package comes with an (optional) plot web server, too. It depends on
+some more Python packages. To install those requirements as well, run
+this command:
+
+::
+
+ pip install --upgrade opus20[webserver]
+
+This will install further packages like jinja2, bottle, matplotlib,
+pandas, and numpy. (Installing matplotlib may also require you to
+install the python development package for Python 3.)
+
+Usage
+^^^^^
+
+The Python package installs a command line tool to query the device for
+current values. It's called ``opus20_cli``.
+
+Here is how to get a list of all available *channels* from the device:
+
+::
+
+ philipp@lion:~> opus20_cli 192.168.1.55 list
+ Channel 100 (0x0064): CUR temperature unit: °C offset: ±10.0 logging: no
+ Channel 120 (0x0078): MIN temperature unit: °C offset: ±10.0 logging: no
+ Channel 140 (0x008C): MAX temperature unit: °C offset: ±10.0 logging: no
+ Channel 160 (0x00A0): AVG temperature unit: °C offset: ±10.0 logging: yes
+ Channel 105 (0x0069): CUR temperature unit: °F offset: 0.0 logging: no
+ Channel 125 (0x007D): MIN temperature unit: °F offset: 0.0 logging: no
+ Channel 145 (0x0091): MAX temperature unit: °F offset: 0.0 logging: no
+ Channel 165 (0x00A5): AVG temperature unit: °F offset: 0.0 logging: no
+ Channel 200 (0x00C8): CUR relative humidity unit: % offset: ±30.0 logging: no
+ Channel 220 (0x00DC): MIN relative humidity unit: % offset: ±30.0 logging: no
+ Channel 240 (0x00F0): MAX relative humidity unit: % offset: ±30.0 logging: no
+ Channel 260 (0x0104): AVG relative humidity unit: % offset: ±30.0 logging: yes
+ Channel 205 (0x00CD): CUR absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 225 (0x00E1): MIN absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 245 (0x00F5): MAX absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 265 (0x0109): AVG absolute humidity unit: g/m³ offset: 0.0 logging: yes
+ Channel 110 (0x006E): CUR dewpoint unit: °C offset: 0.0 logging: no
+ Channel 130 (0x0082): MIN dewpoint unit: °C offset: 0.0 logging: no
+ Channel 150 (0x0096): MAX dewpoint unit: °C offset: 0.0 logging: no
+ Channel 170 (0x00AA): AVG dewpoint unit: °C offset: 0.0 logging: yes
+ Channel 115 (0x0073): CUR dewpoint unit: °F offset: 0.0 logging: no
+ Channel 135 (0x0087): MIN dewpoint unit: °F offset: 0.0 logging: no
+ Channel 155 (0x009B): MAX dewpoint unit: °F offset: 0.0 logging: no
+ Channel 175 (0x00AF): AVG dewpoint unit: °F offset: 0.0 logging: no
+ Channel 10020 (0x2724): CUR battery voltage unit: V offset: 0.0 logging: no
+ Channel 10040 (0x2738): MIN battery voltage unit: V offset: 0.0 logging: no
+ Channel 10060 (0x274C): MAX battery voltage unit: V offset: 0.0 logging: no
+ Channel 10080 (0x2760): AVG battery voltage unit: V offset: 0.0 logging: yes
+
+Asking for the value of a channel works like this:
+
+::
+
+ philipp@lion:~> opus20_cli 192.168.1.55 get 0x0064
+ 24.712
+
+You can also download the values stored on the device and store them in
+a file:
+
+::
+
+ philipp@lion:~> opus20_cli --loglevel INFO 192.168.1.55 download log_data.pickle
+ INFO:opus20.opus20:Connected to device with ID: EC9C0A06B183
+ INFO:opus_cli:script running time (net): 1.208517 seconds.
+ philipp@lion:~>
+
+Here is an overview of all the possible CLI commands:
+
+::
+
+ # List all possible channels:
+ opus20_cli 192.168.1.55 list
+
+ # Get the values for the specified channels (CUR, MIN, MAX temperature in °C):
+ opus20_cli 192.168.1.55 get 0x0064 0x0078 0x008C
+
+ # Download the latest log data and merge it into a persistant data file:
+ opus20_cli 192.168.1.55 download opus20.PickleStore.p
+
+ # Check if logging in general is enabled on the device:
+ opus20_cli 192.168.1.55 logging status
+ opus20_cli 192.168.1.55 logging start
+ opus20_cli 192.168.1.55 logging stop
+ # Or clear the log:
+ opus20_cli 192.168.1.55 logging clear
+
+ # Enable or disable logging for individual channels:
+ opus20_cli 192.168.1.55 enable 0x0064 0x0078 0x008C
+ opus20_cli 192.168.1.55 disable 0x00CD 0x00E1 0x00F5
+
+Author
+^^^^^^
+
+-
+
+ (c) 2015, Philipp Klaus
+ klaus@physik.uni-frankfurt.de
+ Ported the software to Python, extended and packaged it.
+
+-
+
+ (c) 2012, `Ondics GmbH <http://www.ondics.de>`__
+ githubler@ondics.de
+ The author of the `original
+ scripts <https://github.com/ondics/lufft-l2p-script-collection>`__
+ (written as Bash scripts + netcat & gawk)
+
+License
+^^^^^^^
+
+GPLv3
+
+%package -n python3-opus20
+Summary: Interface to Lufft OPUS20 devices
+Provides: python-opus20
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-opus20
+opus20 - a Python interface to the OPUS20
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is a *opus20*, a Python software to query the temperature /
+humidity / air pressure logging device OPUS20 produced by Lufft.
+
+The source code is `managed on Github:
+pklaus/opus20 <https://github.com/pklaus/opus20>`__. The Python package
+is also `registered on PyPI <https://pypi.python.org/pypi/opus20>`__ for
+easy installation.
+
+Requirements and Installation
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The only strict requirement for the bare opus20 package is Python
+version 3.3+. Then, the package can be installed via pip directly from
+PyPI:
+
+::
+
+ pip install --upgrade opus20
+
+The package comes with an (optional) plot web server, too. It depends on
+some more Python packages. To install those requirements as well, run
+this command:
+
+::
+
+ pip install --upgrade opus20[webserver]
+
+This will install further packages like jinja2, bottle, matplotlib,
+pandas, and numpy. (Installing matplotlib may also require you to
+install the python development package for Python 3.)
+
+Usage
+^^^^^
+
+The Python package installs a command line tool to query the device for
+current values. It's called ``opus20_cli``.
+
+Here is how to get a list of all available *channels* from the device:
+
+::
+
+ philipp@lion:~> opus20_cli 192.168.1.55 list
+ Channel 100 (0x0064): CUR temperature unit: °C offset: ±10.0 logging: no
+ Channel 120 (0x0078): MIN temperature unit: °C offset: ±10.0 logging: no
+ Channel 140 (0x008C): MAX temperature unit: °C offset: ±10.0 logging: no
+ Channel 160 (0x00A0): AVG temperature unit: °C offset: ±10.0 logging: yes
+ Channel 105 (0x0069): CUR temperature unit: °F offset: 0.0 logging: no
+ Channel 125 (0x007D): MIN temperature unit: °F offset: 0.0 logging: no
+ Channel 145 (0x0091): MAX temperature unit: °F offset: 0.0 logging: no
+ Channel 165 (0x00A5): AVG temperature unit: °F offset: 0.0 logging: no
+ Channel 200 (0x00C8): CUR relative humidity unit: % offset: ±30.0 logging: no
+ Channel 220 (0x00DC): MIN relative humidity unit: % offset: ±30.0 logging: no
+ Channel 240 (0x00F0): MAX relative humidity unit: % offset: ±30.0 logging: no
+ Channel 260 (0x0104): AVG relative humidity unit: % offset: ±30.0 logging: yes
+ Channel 205 (0x00CD): CUR absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 225 (0x00E1): MIN absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 245 (0x00F5): MAX absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 265 (0x0109): AVG absolute humidity unit: g/m³ offset: 0.0 logging: yes
+ Channel 110 (0x006E): CUR dewpoint unit: °C offset: 0.0 logging: no
+ Channel 130 (0x0082): MIN dewpoint unit: °C offset: 0.0 logging: no
+ Channel 150 (0x0096): MAX dewpoint unit: °C offset: 0.0 logging: no
+ Channel 170 (0x00AA): AVG dewpoint unit: °C offset: 0.0 logging: yes
+ Channel 115 (0x0073): CUR dewpoint unit: °F offset: 0.0 logging: no
+ Channel 135 (0x0087): MIN dewpoint unit: °F offset: 0.0 logging: no
+ Channel 155 (0x009B): MAX dewpoint unit: °F offset: 0.0 logging: no
+ Channel 175 (0x00AF): AVG dewpoint unit: °F offset: 0.0 logging: no
+ Channel 10020 (0x2724): CUR battery voltage unit: V offset: 0.0 logging: no
+ Channel 10040 (0x2738): MIN battery voltage unit: V offset: 0.0 logging: no
+ Channel 10060 (0x274C): MAX battery voltage unit: V offset: 0.0 logging: no
+ Channel 10080 (0x2760): AVG battery voltage unit: V offset: 0.0 logging: yes
+
+Asking for the value of a channel works like this:
+
+::
+
+ philipp@lion:~> opus20_cli 192.168.1.55 get 0x0064
+ 24.712
+
+You can also download the values stored on the device and store them in
+a file:
+
+::
+
+ philipp@lion:~> opus20_cli --loglevel INFO 192.168.1.55 download log_data.pickle
+ INFO:opus20.opus20:Connected to device with ID: EC9C0A06B183
+ INFO:opus_cli:script running time (net): 1.208517 seconds.
+ philipp@lion:~>
+
+Here is an overview of all the possible CLI commands:
+
+::
+
+ # List all possible channels:
+ opus20_cli 192.168.1.55 list
+
+ # Get the values for the specified channels (CUR, MIN, MAX temperature in °C):
+ opus20_cli 192.168.1.55 get 0x0064 0x0078 0x008C
+
+ # Download the latest log data and merge it into a persistant data file:
+ opus20_cli 192.168.1.55 download opus20.PickleStore.p
+
+ # Check if logging in general is enabled on the device:
+ opus20_cli 192.168.1.55 logging status
+ opus20_cli 192.168.1.55 logging start
+ opus20_cli 192.168.1.55 logging stop
+ # Or clear the log:
+ opus20_cli 192.168.1.55 logging clear
+
+ # Enable or disable logging for individual channels:
+ opus20_cli 192.168.1.55 enable 0x0064 0x0078 0x008C
+ opus20_cli 192.168.1.55 disable 0x00CD 0x00E1 0x00F5
+
+Author
+^^^^^^
+
+-
+
+ (c) 2015, Philipp Klaus
+ klaus@physik.uni-frankfurt.de
+ Ported the software to Python, extended and packaged it.
+
+-
+
+ (c) 2012, `Ondics GmbH <http://www.ondics.de>`__
+ githubler@ondics.de
+ The author of the `original
+ scripts <https://github.com/ondics/lufft-l2p-script-collection>`__
+ (written as Bash scripts + netcat & gawk)
+
+License
+^^^^^^^
+
+GPLv3
+
+%package help
+Summary: Development documents and examples for opus20
+Provides: python3-opus20-doc
+%description help
+opus20 - a Python interface to the OPUS20
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is a *opus20*, a Python software to query the temperature /
+humidity / air pressure logging device OPUS20 produced by Lufft.
+
+The source code is `managed on Github:
+pklaus/opus20 <https://github.com/pklaus/opus20>`__. The Python package
+is also `registered on PyPI <https://pypi.python.org/pypi/opus20>`__ for
+easy installation.
+
+Requirements and Installation
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The only strict requirement for the bare opus20 package is Python
+version 3.3+. Then, the package can be installed via pip directly from
+PyPI:
+
+::
+
+ pip install --upgrade opus20
+
+The package comes with an (optional) plot web server, too. It depends on
+some more Python packages. To install those requirements as well, run
+this command:
+
+::
+
+ pip install --upgrade opus20[webserver]
+
+This will install further packages like jinja2, bottle, matplotlib,
+pandas, and numpy. (Installing matplotlib may also require you to
+install the python development package for Python 3.)
+
+Usage
+^^^^^
+
+The Python package installs a command line tool to query the device for
+current values. It's called ``opus20_cli``.
+
+Here is how to get a list of all available *channels* from the device:
+
+::
+
+ philipp@lion:~> opus20_cli 192.168.1.55 list
+ Channel 100 (0x0064): CUR temperature unit: °C offset: ±10.0 logging: no
+ Channel 120 (0x0078): MIN temperature unit: °C offset: ±10.0 logging: no
+ Channel 140 (0x008C): MAX temperature unit: °C offset: ±10.0 logging: no
+ Channel 160 (0x00A0): AVG temperature unit: °C offset: ±10.0 logging: yes
+ Channel 105 (0x0069): CUR temperature unit: °F offset: 0.0 logging: no
+ Channel 125 (0x007D): MIN temperature unit: °F offset: 0.0 logging: no
+ Channel 145 (0x0091): MAX temperature unit: °F offset: 0.0 logging: no
+ Channel 165 (0x00A5): AVG temperature unit: °F offset: 0.0 logging: no
+ Channel 200 (0x00C8): CUR relative humidity unit: % offset: ±30.0 logging: no
+ Channel 220 (0x00DC): MIN relative humidity unit: % offset: ±30.0 logging: no
+ Channel 240 (0x00F0): MAX relative humidity unit: % offset: ±30.0 logging: no
+ Channel 260 (0x0104): AVG relative humidity unit: % offset: ±30.0 logging: yes
+ Channel 205 (0x00CD): CUR absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 225 (0x00E1): MIN absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 245 (0x00F5): MAX absolute humidity unit: g/m³ offset: 0.0 logging: no
+ Channel 265 (0x0109): AVG absolute humidity unit: g/m³ offset: 0.0 logging: yes
+ Channel 110 (0x006E): CUR dewpoint unit: °C offset: 0.0 logging: no
+ Channel 130 (0x0082): MIN dewpoint unit: °C offset: 0.0 logging: no
+ Channel 150 (0x0096): MAX dewpoint unit: °C offset: 0.0 logging: no
+ Channel 170 (0x00AA): AVG dewpoint unit: °C offset: 0.0 logging: yes
+ Channel 115 (0x0073): CUR dewpoint unit: °F offset: 0.0 logging: no
+ Channel 135 (0x0087): MIN dewpoint unit: °F offset: 0.0 logging: no
+ Channel 155 (0x009B): MAX dewpoint unit: °F offset: 0.0 logging: no
+ Channel 175 (0x00AF): AVG dewpoint unit: °F offset: 0.0 logging: no
+ Channel 10020 (0x2724): CUR battery voltage unit: V offset: 0.0 logging: no
+ Channel 10040 (0x2738): MIN battery voltage unit: V offset: 0.0 logging: no
+ Channel 10060 (0x274C): MAX battery voltage unit: V offset: 0.0 logging: no
+ Channel 10080 (0x2760): AVG battery voltage unit: V offset: 0.0 logging: yes
+
+Asking for the value of a channel works like this:
+
+::
+
+ philipp@lion:~> opus20_cli 192.168.1.55 get 0x0064
+ 24.712
+
+You can also download the values stored on the device and store them in
+a file:
+
+::
+
+ philipp@lion:~> opus20_cli --loglevel INFO 192.168.1.55 download log_data.pickle
+ INFO:opus20.opus20:Connected to device with ID: EC9C0A06B183
+ INFO:opus_cli:script running time (net): 1.208517 seconds.
+ philipp@lion:~>
+
+Here is an overview of all the possible CLI commands:
+
+::
+
+ # List all possible channels:
+ opus20_cli 192.168.1.55 list
+
+ # Get the values for the specified channels (CUR, MIN, MAX temperature in °C):
+ opus20_cli 192.168.1.55 get 0x0064 0x0078 0x008C
+
+ # Download the latest log data and merge it into a persistant data file:
+ opus20_cli 192.168.1.55 download opus20.PickleStore.p
+
+ # Check if logging in general is enabled on the device:
+ opus20_cli 192.168.1.55 logging status
+ opus20_cli 192.168.1.55 logging start
+ opus20_cli 192.168.1.55 logging stop
+ # Or clear the log:
+ opus20_cli 192.168.1.55 logging clear
+
+ # Enable or disable logging for individual channels:
+ opus20_cli 192.168.1.55 enable 0x0064 0x0078 0x008C
+ opus20_cli 192.168.1.55 disable 0x00CD 0x00E1 0x00F5
+
+Author
+^^^^^^
+
+-
+
+ (c) 2015, Philipp Klaus
+ klaus@physik.uni-frankfurt.de
+ Ported the software to Python, extended and packaged it.
+
+-
+
+ (c) 2012, `Ondics GmbH <http://www.ondics.de>`__
+ githubler@ondics.de
+ The author of the `original
+ scripts <https://github.com/ondics/lufft-l2p-script-collection>`__
+ (written as Bash scripts + netcat & gawk)
+
+License
+^^^^^^^
+
+GPLv3
+
+%prep
+%autosetup -n opus20-1.0.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-opus20 -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..a6d50c8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+10eb6405ac23e0094f22464fe6722673 opus20-1.0.1.tar.gz