Hello,
Anyone here logging a Viessmann Vitodens gas boiler data, please? The data can then be inserted in InfluxDB database and visualized with Grafana. Here is just an example.
I am soon to start logging but it seems to be a complex task with little information for beginners on the internet.
I understand I need PyViCare library to communicate with boiler's API.
But how do install PyViCare and make it inject various data into InfluxDB every 10 minutes?
If someone is interested in such statistics of their heating system, let us know.
Some basic information can be found here:
https://github.com/somm15/PyViCare
https://pypi.org/project/PyViCare/0.2.3/
https://blog.devgenius.io/viessmann-boi ... f66042663d
https://thesmarthomejourney.com/2021/05 ... assistant/
https://www.viessmann-community.com/t5/ ... d-p/234475 (in German)
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
I would start by installing the software (sorry no Pi handy to test the install).
At the top of the pypi page (latest version of the code is here) are the install instructions:
Then try to get the sample code on pypi running by creating the API key as per https://github.com/somm15/PyViCare#prerequisites
Once that's running it would be the time to look at Influx etc.
Note there is a Discord 'help' stream for this at https://discord.gg/aM3SqCD88f
At the top of the pypi page (latest version of the code is here) are the install instructions:
Code: Select all
pip install PyViCare
Once that's running it would be the time to look at Influx etc.
Note there is a Discord 'help' stream for this at https://discord.gg/aM3SqCD88f
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
Thanks. I joined Discord, which I had never heard of before.
Anyway, now I am trying to start NAS on my Pi. After I am done with NAS (OMV 5), I will try to set up PyViCare.
Anyway, now I am trying to start NAS on my Pi. After I am done with NAS (OMV 5), I will try to set up PyViCare.
Re: Gas boiler data logging
There is a lot who do logging of electricity including an emonpi thing https://shop.openenergymonitor.com/energy-monitoring/
They might be rather interested in getting a look at what your gas boiler monitoring can see.
On my own, I got four temperature sensors to an arduino and got that to a local LCD display, but usb-serial to send it to a very ordinary text logging every ten seconds on a raspberry pi had been erratic. It would seem that there are inconsistencies in starting and maintaining a usb-serial ttyUSB0 so it may work for a day or an hour, then decide that it was sending to ttyUSB1 while the program was looking for ttyUSB0 and restarting it got error messages. I've also been getting "bus error" every time starting an i2c temperature/humidity sensor of a reputable brand. It worked for a month then never again.
At this time of year, my biggest saving on the gas boiler is from a policy decision of "gas is Normally OFF". I'll burn for three minutes if I need hot water for washing up, twelve minutes on bath day, and for the rest of the time the gas boiler is OFF. As in no 1kWh per day central heating pump, no control board, really OFF.
If we want a nil net carbon future then there is only one thing to do with the gas appliances. "TURN IT OFF, STUPID!"
They might be rather interested in getting a look at what your gas boiler monitoring can see.
On my own, I got four temperature sensors to an arduino and got that to a local LCD display, but usb-serial to send it to a very ordinary text logging every ten seconds on a raspberry pi had been erratic. It would seem that there are inconsistencies in starting and maintaining a usb-serial ttyUSB0 so it may work for a day or an hour, then decide that it was sending to ttyUSB1 while the program was looking for ttyUSB0 and restarting it got error messages. I've also been getting "bus error" every time starting an i2c temperature/humidity sensor of a reputable brand. It worked for a month then never again.
At this time of year, my biggest saving on the gas boiler is from a policy decision of "gas is Normally OFF". I'll burn for three minutes if I need hot water for washing up, twelve minutes on bath day, and for the rest of the time the gas boiler is OFF. As in no 1kWh per day central heating pump, no control board, really OFF.
If we want a nil net carbon future then there is only one thing to do with the gas appliances. "TURN IT OFF, STUPID!"
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
OK, I have found a website with what looks like a step-by-sterp guide for my gas boiler:
https://blog.devgenius.io/viessmann-boi ... f66042663d
It requires python, so I installed it, successfully, I think:
Then I needed to install what I think is a library:
And here is a long installation log with some warnings and errors, I'm afraid.
Here are some parts of the log:
Do you think the installation has been successful or not? How to check?
What to do now if It was not successful?
https://blog.devgenius.io/viessmann-boi ... f66042663d
It requires python, so I installed it, successfully, I think:
Code: Select all
sudo apt install python3-pip
Code: Select all
sudo pip3 install PyViCare
Here are some parts of the log:
Code: Select all
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.c' under directory 'src/_cffi_src'
warning: no files found matching '*.h' under directory 'src/_cffi_src'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files found matching 'src/rust/target'
warning: no previously-included files matching '*' found under directory 'src/rust/target'
warning: no previously-included files matching '*' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'ci-constraints-requirements.txt'
warning: no previously-included files found matching 'mypy.ini'
adding license file 'LICENSE'
adding license file 'LICENSE.APACHE'
adding license file 'LICENSE.BSD'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
copying src/cryptography/py.typed -> build/lib.linux-armv7l-cpython-37/cryptography
Code: Select all
=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
2) Read https://cryptography.io/en/latest/installation/ for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq/
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation/#rust
Python: 3.7.3
platform: Linux-5.10.103-v7l+-armv7l-with-debian-10.13
pip: 18.1
setuptools: 67.8.0
setuptools_rust: 1.6.0
rustc: n/a
=============================DEBUG ASSISTANCE=============================
error: can't find Rust compiler
If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
To update pip, run:
pip install --upgrade pip
and then retry package installation.
If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
This package requires Rust >=1.56.0.
----------------------------------------
Failed building wheel for cryptography
Running setup.py clean for cryptography
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ijm4cd8k/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" clean --all:
/tmp/pip-build-env-2zi76eww/lib/python3.7/site-packages/setuptools/config/pyprojecttoml.py:66: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
config = read_configuration(filepath, True, ignore_option_errors, dist)
running clean
removing 'build/lib.linux-armv7l-cpython-37' (and everything under it)
'build/bdist.linux-armv7l' does not exist -- can't clean it
'build/scripts-3.7' does not exist -- can't clean it
removing 'build'
running clean_rust
Code: Select all
=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
2) Read https://cryptography.io/en/latest/installation/ for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq/
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation/#rust
Python: 3.7.3
platform: Linux-5.10.103-v7l+-armv7l-with-debian-10.13
pip: 18.1
setuptools: 67.8.0
setuptools_rust: 1.6.0
rustc: n/a
=============================DEBUG ASSISTANCE=============================
error: can't find Rust compiler
If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
To update pip, run:
pip install --upgrade pip
and then retry package installation.
If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
This package requires Rust >=1.56.0.
----------------------------------------
Failed cleaning build dir for cryptography
Failed to build cryptography
Installing collected packages: pycparser, cffi, cryptography, Authlib, PyViCare
Running setup.py install for cryptography ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ijm4cd8k/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-iegbunqr/install-record.txt --single-version-externally-managed --compile:
/tmp/pip-build-env-2zi76eww/lib/python3.7/site-packages/setuptools/config/pyprojecttoml.py:66: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
config = read_configuration(filepath, True, ignore_option_errors, dist)
running install
/tmp/pip-build-env-2zi76eww/lib/python3.7/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer, pypa/build or
other standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
running build
running build_py
creating build
creating build/lib.linux-armv7l-cpython-37
creating build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/__about__.py -> build/lib.linux-armv7l-cpython-37/cryptography
creating build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat
copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.c' under directory 'src/_cffi_src'
warning: no files found matching '*.h' under directory 'src/_cffi_src'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files found matching 'src/rust/target'
warning: no previously-included files matching '*' found under directory 'src/rust/target'
warning: no previously-included files matching '*' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'ci-constraints-requirements.txt'
warning: no previously-included files found matching 'mypy.ini'
adding license file 'LICENSE'
adding license file 'LICENSE.APACHE'
adding license file 'LICENSE.BSD'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
copying src/cryptography/py.typed -> build/lib.linux-armv7l-cpython-37/cryptography
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/_openssl.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/exceptions.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/pkcs7.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/dh.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/dsa.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
copying src/cryptography/hazmat/bindings/_rust/openssl/x448.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust/openssl
running build_ext
running build_rust
Code: Select all
=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
2) Read https://cryptography.io/en/latest/installation/ for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq/
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation/#rust
Python: 3.7.3
platform: Linux-5.10.103-v7l+-armv7l-with-debian-10.13
pip: 18.1
setuptools: 67.8.0
setuptools_rust: 1.6.0
rustc: n/a
=============================DEBUG ASSISTANCE=============================
error: can't find Rust compiler
If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
To update pip, run:
pip install --upgrade pip
and then retry package installation.
If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
This package requires Rust >=1.56.0.
----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ijm4cd8k/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-iegbunqr/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-ijm4cd8k/cryptography/
What to do now if It was not successful?
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
By the way, see below, aren't they too old?
pi@RaspberryPi4B:~ $ pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
pi@RaspberryPi4B:~ $ python --version
Python 2.7.16
pi@RaspberryPi4B:~ $ pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
pi@RaspberryPi4B:~ $ python --version
Python 2.7.16
- DougieLawson
- Posts: 42644
- Joined: Sun Jun 16, 2013 11:19 pm
- Location: A small cave in deepest darkest Basingstoke, UK
Re: Gas boiler data logging
That's ancient. Python2 has gone end of life on 1st January 2020.
You MUST use python3 for all new python development.
Languages using left-hand whitespace for syntax are ridiculous
DMs sent on https://twitter.com/DougieLawson or LinkedIn will be answered next month.
Fake doctors - are all on my foes list.
The use of crystal balls and mind reading is prohibited.
DMs sent on https://twitter.com/DougieLawson or LinkedIn will be answered next month.
Fake doctors - are all on my foes list.
The use of crystal balls and mind reading is prohibited.
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
Thanks.
How do I do that?
I'm on Retropie system (Buster).
BTW, I have only just installed these two:
sudo apt install python3-pip
sudo pip3 install PyViCare
I understand pip or PyViCare is not a problem but Python is.
How do I do that?
I'm on Retropie system (Buster).
BTW, I have only just installed these two:
sudo apt install python3-pip
sudo pip3 install PyViCare
I understand pip or PyViCare is not a problem but Python is.
Re: Gas boiler data logging
For development, I would get another SD card (or similar) and use the latest RPiOS, you'll get the latest tools then. Also, you'll not mess up you RetroPi setup.
But on older setup like Buster, you use to start or develop python3 or IDLE3 or Thonny or Mu or VS Code selecting Python3.
But on older setup like Buster, you use to start or develop python3 or IDLE3 or Thonny or Mu or VS Code selecting Python3.
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
From an article on a website I found out that my system probably also has Python3 but Python2 is default and necessary.
I should have also run "python3 --version"
It seems I must make it default.
Maybe following this guide will be enough:
https://raspberry-valley.azurewebsites. ... t-Version/
Also here: https://raspberrytips.com/change-defaul ... n-version/
I should have also run "python3 --version"
It seems I must make it default.
Maybe following this guide will be enough:
https://raspberry-valley.azurewebsites. ... t-Version/
Also here: https://raspberrytips.com/change-defaul ... n-version/
Re: Gas boiler data logging
no don't make it default on Buster, then all python2 programs in the OS will try use python3 and might fail.
just launch with the python3 as mentioned a few times now, if doing it from the command line. (and as you have already, use pip3 to install modules)
just launch with the python3 as mentioned a few times now, if doing it from the command line. (and as you have already, use pip3 to install modules)
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
I've just checked and Python3 is also on board:
bensimmo, what do you mean by "launch with the python3"? How to do that?
You mean this? /usr/bin/python3.7 PyViCare.py
I thought I would simply make a symlink of python to python3 but you are saying this approach is wrong.
Do you think I should somehow install PyViCare again? How to install it from under Python3, if needed?
How to update Python 3.7.3 to something more recent?
Code: Select all
pi@RaspberryPi4B:~ $ python3 --version
Python 3.7.3
You mean this? /usr/bin/python3.7 PyViCare.py
I thought I would simply make a symlink of python to python3 but you are saying this approach is wrong.
Do you think I should somehow install PyViCare again? How to install it from under Python3, if needed?
How to update Python 3.7.3 to something more recent?
Re: Gas boiler data logging
python3 PyViCare.py
Will launch PyViCare.py with python3
python PyViCare.py launches it with Python2
( on Buster.)
How are you running the program now?
Have you had a chat on their discord help for any problem
The pypi module site general info https://pypi.org/project/PyViCare/
Github and development, be sure to look on the issues there and also tick to look at old ones, often something might have been answered https://github.com/somm15/PyViCare
Thier help forum on discord https://discord.gg/aM3SqCD88f
That's once you figured out how python/python3 works on Buster.
Will launch PyViCare.py with python3
python PyViCare.py launches it with Python2
( on Buster.)
How are you running the program now?
Have you had a chat on their discord help for any problem
The pypi module site general info https://pypi.org/project/PyViCare/
Github and development, be sure to look on the issues there and also tick to look at old ones, often something might have been answered https://github.com/somm15/PyViCare
Thier help forum on discord https://discord.gg/aM3SqCD88f
That's once you figured out how python/python3 works on Buster.
Re: Gas boiler data logging
A quick look for your error 'rust' no installing on github for the module and you get
https://github.com/somm15/PyViCare/issues/311
Which tells you what you might need to do with https://github.com/pyca/cryptography/issues/5753
https://github.com/somm15/PyViCare/issues/311
Which tells you what you might need to do with https://github.com/pyca/cryptography/issues/5753
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
Thanks.
I have not run it yet. It has just been installed. Nothing else so far.
I will dive into your links later today.
I have not run it yet. It has just been installed. Nothing else so far.
I will dive into your links later today.
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
Shall I?The script pip3.10 is installed in '/home/pi/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warn ing, use --no-warn-script-location.
Successfully installed pip-23.1.2
How to add it to PATH?
sudo pip3 install PyViCare --prefer-binary seems to have done the trick:
Code: Select all
pi@RaspberryPi4B:~ $ sudo pip3 install PyViCare --prefer-binary
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting PyViCare
Using cached https://files.pythonhosted.org/packages/eb/1b/e8a855ff8016e10340bb3f8fb864a40531b4727bda535997039b96a10770/PyViCare-2.28.1-py3-none-any.whl
Collecting Authlib>=1.2.0 (from PyViCare)
Using cached https://files.pythonhosted.org/packages/45/f2/aa94b7aa199247a27eda41b92259cff2d96e257c9aded649aacd244672a4/Authlib-1.2.0-py2.py3-none-any.whl
Collecting cryptography>=3.2 (from Authlib>=1.2.0->PyViCare)
Downloading https://www.piwheels.org/simple/cryptography/cryptography-40.0.1-cp37-cp37m-linux_armv7l.whl (1.5MB)
100% |████████████████████████████████| 1.5MB 222kB/s
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.7/dist-packages (from cryptography>=3.2->Authlib>=1.2.0->PyViCare) (1.15.1)
Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.12->cryptography>=3.2->Authlib>=1.2.0->PyViCare) (2.21)
Installing collected packages: cryptography, Authlib, PyViCare
Successfully installed Authlib-1.2.0 PyViCare-2.28.1 cryptography-40.0.1
pi@RaspberryPi4B:~ $ python3 PyViCare.py
python3: can't open file 'PyViCare.py': [Errno 2] No such file or directory
pi@RaspberryPi4B:~ $ python PyViCare.py
python: can't open file 'PyViCare.py': [Errno 2] No such file or directory
OK, it seems to be here: /usr/local/lib/python3.7/dist-packages/PyViCare/PyViCare.py
Re: Gas boiler data logging
That's because it is a module, not a program you run directly.
The module gives you an easy way to access the API (a way of talking to
You need to write a program that imports the module and you then select the boiler info).
See the pypi/github pages for more info and an example program and how to get your credentials.
Perhaps some beginner tutorials on Python in the RaspberryPi learning section on raspberrypi.org will help you get a better understanding, they may even have ones that log data to online graphs etc.
The module gives you an easy way to access the API (a way of talking to
You need to write a program that imports the module and you then select the boiler info).
See the pypi/github pages for more info and an example program and how to get your credentials.
Perhaps some beginner tutorials on Python in the RaspberryPi learning section on raspberrypi.org will help you get a better understanding, they may even have ones that log data to online graphs etc.
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
Thanks. So there's much more learning for me than I thought.
I thought PyViCare was a ready-made program, not a module.
Perhaps it will be easier for me to use Home Assistant. My understanding is it has a Viessmann ViCare integration so perhaps there is no need for me to learn too much of Python programming:
https://www.home-assistant.io/integrations/vicare/
I thought PyViCare was a ready-made program, not a module.
Perhaps it will be easier for me to use Home Assistant. My understanding is it has a Viessmann ViCare integration so perhaps there is no need for me to learn too much of Python programming:
https://www.home-assistant.io/integrations/vicare/
Re: Gas boiler data logging
I searched earlier for you to recommend it but couldn't find anything using Viess on the search of official and HACS. No idea why it wasn't picked up in search from within HomeAssistant.Robinson74 wrote: ↑Sat Jun 03, 2023 8:35 amThanks. So there's much more learning for me than I thought.
I thought PyViCare was a ready-made program, not a module.
Perhaps it will be easier for me to use Home Assistant. My understanding is it has a Viessmann ViCare integration so perhaps there is no need for me to learn too much of Python programming:
https://www.home-assistant.io/integrations/vicare/
A quick look and it uses PyViCare in the background for the API calls.
It's pretty easy to have a go and see if it is for you.
Grab and SD card, flash HomeAssistantOS to it, set it up, go to that page click on Add Integration (if it's not auto detected).
A quick look and it should link to the energy dashboard too, but may or may not need this. https://github.com/home-assistant/core/issues/88961 if it's not been fixed yet.
You can then control the device.
Although for now go to the pipy page and just copy/paste and follow the instruction to test it. You'll need the initial credentials in HA anyway.
Re: Gas boiler data logging
If I read through this topic, it looks to me that installing HomeAssistant is a better choice. Even if it were just only for getting started and seeing results. You can always change to own python scripts and maybe you need that some time later if you have or create a device that isn't supported by homeautomation tools like Domoticz or HomeAssistant.Robinson74 wrote: ↑Sat Jun 03, 2023 8:35 amThanks. So there's much more learning for me than I thought.
I thought PyViCare was a ready-made program, not a module.
Perhaps it will be easier for me to use Home Assistant. My understanding is it has a Viessmann ViCare integration so perhaps there is no need for me to learn too much of Python programming:
https://www.home-assistant.io/integrations/vicare/
I have an old electric boiler that has no electronics, just mechanical (over)heat protection/regulation. So I added a temperature sensor to it and a 230V/10A power switch. I made some simple python script to extract the temperature from a custom OS on ESP32, but then I saw that this is all available at a much higher integration level with Tasmota (or ESPhome) so I put that on the ESP32 board. Then it is just clicking in Domoticz and add a control/decision loop in Domoticz events (graphical programming called blocky like Scratch on the Pi). Saves a large amount of energy.
I have HomeAssistant running in a virtual machine, but not really using it at the moment. I use Domoticz already much longer so it is a matter of taste and being used to. I have several Pis that run Domoticz, they all communicate with each other within Domoticz. One of them just does temperature monitoring outside/garden, it is then just a remote sensor available locally to the master Domoticz.
Re: Gas boiler data logging
I use Tasmotta too (for plugs) and ESPHome fo everything else, mainly as ESPHome is part of HomeAssistant and just works really well.
I do like the idea of a blocky interface though.
My Home Automation (or really logging and minor control and fun), started some years back with HomeAssistant, I didn't like it and was a pain to use, so I tried OpenHAB (yet another one) and it was ok, still a bit fumbly to use.
So dumped that after a modern HomeAssistant release and that then worked great for everything I use, quite glad i tried it again.
I'm not heavy into the full modding and making a picture of the house and true automation, Alexa and Google Home do a lot of the 'talk and ask questions side for me, so I don't use HA for that.
But for energy logging, I have some plugs with Tasmota on, sending data via it's MQTT setting and estimated gas usage for the boiler via a similar integration you will be using but for Bosch/Nefit boilers. Some of my plugs cannot use Tasmota so I rely on Tuya and Mersoss integrations and they sort of work.
Plus my smart meter is a UK one and ours are naff, so I have Bright tap into the data my smart meter that it sends and it did work for true electric and Gas usage but they seem to be having HA problems as noted in the HA plugin, Bright (I forget the true company name) app works great on my SMET1 meter, even if British Gas refuse to read it any more.
I have a friend that has a full setup of solar panels, battery, various meters plugged into the consumer unit for the mains all working nicely for them.
anyway, enough about my evolving setup.
I do like the idea of a blocky interface though.
My Home Automation (or really logging and minor control and fun), started some years back with HomeAssistant, I didn't like it and was a pain to use, so I tried OpenHAB (yet another one) and it was ok, still a bit fumbly to use.
So dumped that after a modern HomeAssistant release and that then worked great for everything I use, quite glad i tried it again.
I'm not heavy into the full modding and making a picture of the house and true automation, Alexa and Google Home do a lot of the 'talk and ask questions side for me, so I don't use HA for that.
But for energy logging, I have some plugs with Tasmota on, sending data via it's MQTT setting and estimated gas usage for the boiler via a similar integration you will be using but for Bosch/Nefit boilers. Some of my plugs cannot use Tasmota so I rely on Tuya and Mersoss integrations and they sort of work.
Plus my smart meter is a UK one and ours are naff, so I have Bright tap into the data my smart meter that it sends and it did work for true electric and Gas usage but they seem to be having HA problems as noted in the HA plugin, Bright (I forget the true company name) app works great on my SMET1 meter, even if British Gas refuse to read it any more.
I have a friend that has a full setup of solar panels, battery, various meters plugged into the consumer unit for the mains all working nicely for them.
anyway, enough about my evolving setup.
-
- Posts: 26
- Joined: Sat May 06, 2023 10:38 pm
Re: Gas boiler data logging
I followed your advice and flashed HA OS to an old SD card to run on RPi.bensimmo wrote: ↑Sat Jun 03, 2023 9:11 amGrab and SD card, flash HomeAssistantOS to it, set it up, go to that page click on Add Integration (if it's not auto detected).
A quick look and it should link to the energy dashboard too, but may or may not need this. https://github.com/home-assistant/core/issues/88961 if it's not been fixed yet.
BTW, do you think I will be able to use the same HA account(?) when I grab a new fast SD card to flash HA OS to my target card?
Anyway, there has been a lot of progress for me. I have also installed an Android HA application on my phone and it immediately found my HA server.

I can read tens of my gas boiler parameters on my phone and it can also show some graphs.
The same on my computer (Firefox browser) but there is no scroll bar so I can't scroll down.
