Benutzer-Werkzeuge

Webseiten-Werkzeuge


wp:vitotrans_353_datenerfassung

Vitotrans 353 Datenerfassung

Alle Angaben ohne Gewähr und jeglicher Nachbau auf eigene Verantwortung des Lesers.

Die Regelung der Vitotrans 353 stammt meinen Erkenntnissen nach von der Firma Resol. Die VBus-Schnittstelle ist hier dokumentiert, und die Nachrichtenfelder der Vitotrans 353 hier.

Ich habe den VBus zur Potentialtrennung über einen Optokoppler (HCPL-817-00DE) an UART0 (GPIO15) meines RasPi 3B angeschlossen. Auf der VBus-Seite benutze ich 1kΩ zur Strombegrenzung der OK-Led, auf der RasPi-Seite 3V3 am Kollektor und 470Ω Pulldown zu GND am Emitter des OK-Transistors.

Das resultierende Signal ist dadurch in der richtigen Polarität und bei mir noch gut genug für 9600 Baud. Hier meine Signale (im Saleae Logic2-Format): vitotrans_353_vbus.sal.zip. Am besten mit Oszi kontrollieren.

Die Vitotrans 353 überträgt regelmäßig alle 2 Sekunden unaufgefordert ein VBus-Datenpaket.

Ein durch systemctl überwachtes Python-Script liest diese Datenpakete, dekodiert sie, und reicht sie als JSON-Objekte an meinen MQTT-Broker weiter: vitotrans.zip

Dort sieht ein solches Datenpaket dann etwa so aus:

{
  "Reception Time": "2025-04-19T18:33:44Z",
  "VBus Key": "10,1250,0010,0100,29",
  "System Time": "2025-04-19T20:33:02",
  "S1 Pri In [C]": 32.0,
  "S2 Warm Out [C]": 29.6,
  "S3 Cold In [C]": 32.1,
  "S4 Buffer [C]": 29.7,
  "S5 Circ Return [C]": 24.5,
  "Flow US [l/h]": 0.0,
  "Flow Impulse [l/h]": 0.0, 
  "Pri Pump PWM [%]": 0.0, 
  "Pri Pump Optime [s]": 154661.0, 
  "Circ Pump PWM [%]": 0.0, 
  "Circ Pump Optime [s]": 44524.0, 
  "Relay 157": 0.0, 
  "Relay 28": 0.0, 
  "Relay 2": 3.0, 
  "Energy Day [Wh]": 3091.0, 
  "Energy Total [Wh]": 564306.0, 
  "Volume Total [l]": 13698.0, 
  "Optime Total [s]": 154296.0, 
  "Faults": "0", 
  "Version": 2.0, 
  "Variant": 0.0
}
wp/vitotrans_353_datenerfassung.txt · Zuletzt geändert: von sebastian