Open source interface between a Viessmann device (heat pump, gas heater, etc) and MQTT
Project description
viessmann-optolink2mqtt
Open source interface between a Viessmann device (heat pump, gas heater, etc) and MQTT.
Architecture
Hardware
- A Single Board Computer (SBC) which is capable of running Python and has a USB-A connector (if you plan to use the original Viessmann Optolink USB cable)
- The Optolink USB cable to read/write; you have two main options: a) buy the original Viessmann cable on specialized shops such as https://www.loebbeshop.de/; see exact item here or b) build your own cable, more details available from other tinkerers like MyVitotronicLogger or at Optolink splitter readme
Installation
This project supports 2 main installation methods: PyPi and Docker. Both methods are meant to be used from a Linux Operating system which has the USB/DIY cable attached (see "Hardware" section above).
Pypi package
python3 -m venv optolink2mqtt-venv
source optolink2mqtt-venv/bin/activate
pip install viessmann-optolink2mqtt
optolink2mqtt --help
Docker
When using Docker you will need to provide the YAML config file path in the docker run command and
also provide the name of the serial port (e.g. /dev/ttyUSB0 in the following example):
docker run -d -v <your config file>:/etc/optolink2mqtt/optolink2mqtt.yaml \
--device=/dev/ttyUSB0 \
--hostname $(hostname) \
--name optolink2mqtt \
ghcr.io/f18m/optolink2mqtt:latest
The docker image of optolink2mqtt supports 3 main architectures: amd64, armv7 and arm64.
Configuration file
This software accepts a declarative configuration in YAML format. Please look at the optolink2mqtt.yaml file as reference source for the syntax.
How to discover register addresses
TO BE WRITTEN
HomeAssistant Integration
This project allows a very easy integration with HomeAssistant.
It's enough to populae the ha_discovery section of each register defined in the configuration file
with some metadata specific for each sensor, to get the sensor automatically appear inside your HomeAssistant:
Related projects
- Optolink Splitter: this is the original project that inspired this one
- Optolink Bridge: inspired from the "Optolink Splitter"; requires you to own a VitoConnect device and allows you to setup a "man in the middle" device
- openv vcontrold: seems abandoned but contains a C-based implementation of the VS1 and VS2 protocols apparently. Its wiki has plenty of details although in German
- VitoWiFi: a C++ implementation of VS1 (KW) and VS2 (P300) Optolink protocols, for use on ESP microcontrollers but also Linux systems
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file viessmann_optolink2mqtt-0.2.0.tar.gz.
File metadata
- Download URL: viessmann_optolink2mqtt-0.2.0.tar.gz
- Upload date:
- Size: 310.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f5d5334abe896a3c6b6cf3047f89e924fc9f27b0931b9c3bd10e4b24212a7ca
|
|
| MD5 |
6bc386983bb4d57c383324f2da7d15ae
|
|
| BLAKE2b-256 |
af429842532d07c8f89e2ad5779ae94b05eb7431fe7ce78fc52f67ce0c36cecf
|
Provenance
The following attestation bundles were made for viessmann_optolink2mqtt-0.2.0.tar.gz:
Publisher:
pypi-release.yml on f18m/viessmann-optolink2mqtt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
viessmann_optolink2mqtt-0.2.0.tar.gz -
Subject digest:
9f5d5334abe896a3c6b6cf3047f89e924fc9f27b0931b9c3bd10e4b24212a7ca - Sigstore transparency entry: 831773804
- Sigstore integration time:
-
Permalink:
f18m/viessmann-optolink2mqtt@56bc7ae7af335141e7695b2549b683e663f60d23 -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/f18m
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@56bc7ae7af335141e7695b2549b683e663f60d23 -
Trigger Event:
push
-
Statement type:
File details
Details for the file viessmann_optolink2mqtt-0.2.0-py3-none-any.whl.
File metadata
- Download URL: viessmann_optolink2mqtt-0.2.0-py3-none-any.whl
- Upload date:
- Size: 38.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2213a5a5637ad291930fcf600ceb2a8846a6ee78a0ef4db98a441cec520fb5b5
|
|
| MD5 |
230ea2c413a5f5f04250d6b3724bb536
|
|
| BLAKE2b-256 |
d76e0f3200f7ddd72a0dead22f66c5e5d9b0d6df89d87fcbd8c0adf7e0c33e08
|
Provenance
The following attestation bundles were made for viessmann_optolink2mqtt-0.2.0-py3-none-any.whl:
Publisher:
pypi-release.yml on f18m/viessmann-optolink2mqtt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
viessmann_optolink2mqtt-0.2.0-py3-none-any.whl -
Subject digest:
2213a5a5637ad291930fcf600ceb2a8846a6ee78a0ef4db98a441cec520fb5b5 - Sigstore transparency entry: 831773808
- Sigstore integration time:
-
Permalink:
f18m/viessmann-optolink2mqtt@56bc7ae7af335141e7695b2549b683e663f60d23 -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/f18m
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@56bc7ae7af335141e7695b2549b683e663f60d23 -
Trigger Event:
push
-
Statement type: