vaillant:myvaillant2influxdb

Dies ist eine alte Version des Dokuments!


Intro

Um Daten von einer Vaillant Heizung in eine InfluxDB zu überführen, kann man dies mit einem Vr900 Gateway und einem MyVaillant Konto umsetzen. Hierfür stehen ein paar nette Python Libraries zur Verfügung, wobei die eine ein Fork von der anderen ist und die meisten das gleiche machen. Diese Libs verbinden sich mit der MyVaillant API.

  1. MyVaillant: MyVaillant auf PyPi
  2. VR900_Connector: VR900 Connector auf PyPi

Eine Verbindung mit dem EBUS direkt ist zwar möglich, dafür benötigt man aber einen anderen / Selbstbau Adapter und einen extra Dienst. Welche Daten dann aus dem EBUS auslesbar sind, ist auch noch recht fraglich und bedarf einiges an Entwicklung. Evtl. dazu später mehr in meinem Wiki aber hier nun erstmal die Integration nach folgendem Schaubild:

Implementierung

  • Installation von mindestens Python 3.10
  • Modul folgende Python3 Module zusätzlich installieren (python3-venv, python3-pip)
  • VENV anlegen
    # mkidir vaillant
    # python3 -m venv vaillant
  • Installation von MyPyllant
    # vaillant/bin/pip3 install MyPyllant
  • nun wäre die Installation so weit, einen Testlauf durchzuführen. Der Aufruf wird auch so später beim exec-Input in Telegraf verwendet
    # /opt/vaillant/bin/python3 -m myPyllant.export '${VAILLANT-BENUTZERNAME}' '${VAILLANT-PASSWORD}' --country germany vaillant

JSON RAW

JSON Keys

Beschreibung Pfad Feldnamen
Warmwassertemperatur current_dhw_temperature
Vorlauftemperatur Ist system_flow_temperature
current_circuit_flow_temperature
Vorlauftemperatur Soll circuits.extra_fields.heating_circuit_flow_setpoint
Rücklauftemperatur
Wasserdruck
Therme Zustand
Therme Modus circuit_state
Brennerzustand
Heizkurve heating_curve
Raumtemperatur
Außentemperatur outdoor_temperature
Ist Innentemperatur current_room_temperature
Soll Innentemperatur desired_room_temperature_setpoint
Luftfeuchtigkeit current_room_humidity
Zustand Zirkpumnpe

Diese Seite geht davon aus, dass Telegraf bereits korrekt konfiguriert wurde, daher in Verwendung ist und die Daten im gewünschten Ziel landen, wie z.B. einer InfluxDB. Daher muss nur ein einfaches exec Input mit JSON Datenformat in Telegraf angelegt werden. Bitte daran denken, dass die angegebenen Variablen als Umgebungsvariable in /etc/default/telegraf angegeben sein müssen.

[[inputs.exec]]
  ## Commands array
  commands = [ "/opt/vaillant/bin/python3 -m myPyllant.export '${VAILLANT-BENUTZERNAME}' '${VAILLANT-PASSWORD}' --country germany vaillant" ]
  name_override="heizung"
  timeout = "30s"
  interval = "5m"
  data_format = "json_v2"

59

  • vaillant/myvaillant2influxdb.1772493214.txt.gz
  • Zuletzt geändert: 2026/03/02 23:13
  • von devnull