abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

Optolink Switch (Splitter) - Vitoconnect, MQTT & TCP/IP

 

Moin ihr! 🙂

 

Optolink ist 'alt', aber noch in Benutzung (bei mir auch). Öfter gab es Anfragen zum Betrieb zu lokalen Zwecken aber trotzdem weiter das Vitoconnect für Viessmann Cloud/Vicare/Viguide/Vi.API/Garantieverlängerung zu benutzen. Dazu jetzt hier die benutzerfreundliche Lösung, natürlich wieder open-source und kostenlos:

 

der OptolinkVs2-Switch

HerrP_0-1713897747645.png

 

Er verbindet euer Optolink Gerät auf total einfache Weise mit allem was das Herz begehrt.

  • Home Automation Anbindung per MQTT
  • W/LAN Anbindung per TCP/IP und einfachen Ascii + $Hex
  • Parallelbetrieb des Vitoconnect und damit Vicare, Viguide, Viessmann API weiter nutzbar und Erhaltung der erweiterten Garantie

Kein Gehassel mit komplizierter Einrichtung und irgendwelchen kryptischen xml's. Einfach nen Raspi, ein paar Python Module draufkopiert, Optolinkadapter und bei Bedarf das Vitoconnect angesteckt, ggf. noch ein paar Anpassungen in der Settings_ini (COM Ports, IP Adressen, MQTT Passwort, Poll-Liste, ...) und los.

 

HerrP_2-1713897813860.png

HerrP_0-1733508497215.png

HerrP_0-1738135993065.png

 

viel Spass damit & Grüsse!

Phil 🖖

 

 

ps. minimalistischer Optolink-Adapter:

 

HerrP_0-1751895587097.png

mit Diode und Transistor als SMD passt es auch unter die Schiebeklappe 😉

 

243 ANTWORTEN 243

die KI sagt dazu:

Bedeutung der Fehlermeldungen

1. (5, 'Input/output error')

Das ist ein generischer EIO-Fehler aus dem Linux-Kernel. Er tritt auf, wenn der Treiber glaubt, dass das Gerät existiert, aber keine gültige Kommunikation mehr möglich ist.

Typische Gründe:

  • Serielle Gegenstelle ist stromlos / resettiert

  • USB-Seriell-Adapter wurde kurzzeitig getrennt

  • Falsche Portkonfiguration (Baudrate, Parität etc.)

  • Kernel hat den Port aufgrund eines Fehlers „abgehängt“


2. device reports readiness to read but returned no data

Diese Meldung kommt sehr häufig aus pySerial.

Sie bedeutet:

select() meldet „Daten verfügbar“, aber read() bekommt 0 Bytes zurück.

Das passiert fast immer bei:

  • Device Disconnect (USB-Seriell sehr häufig)

  • Mehrfachzugriff auf denselben Port

  • Port wird parallel von einem Systemdienst genutzt

 

Die Geschichte mit VS2 protocol not detected within timeout ist ein 'Synchronisierungsproblem' nach einem Neutstart des main loops vom Splitter. Auf VS2 muss ja 'umgestellt' werden. Das Vitoconnect hat von dem Neustart nix mitbekommen und denkt VS2 ist aktiv (ist es wahrscheilich auch noch). Der Splitter macht aber einen Neustart und wartet drauf, dass das ViConnect das VS2 Protokoll initialisiert...

 

Hast du eine stabile(!) Spannungsversorgung (> 5.1V) und keine Wackelkontakte oder Kabelbrüche?

Du kannst auch irgendwie gucken, ob es Warnungen zur Spannungsversorgung gibt. Versuch mal
dmesg | grep -i voltage

Blöde frage aber kann ich mit dem ganzen auch die Temperatur und heizzeiten einstellen?

Vitodens 300w älteres Baujahr mit display aber hat schon paar Jährchen drauf. 

Mir geht's drum dass ich die Heizung bei Veranstaltungen im Vereinsheim die Heizung von zuhause Steuern kann,  oder sehe wenn die Heizung in Störung geht usw. 

 

Bin kein Anfänger in Sachen raspberry,  esp etc

Danke für dein Posting 

Ganz ehrlich, kauf ein Vitoconnect OPTO2 und nutze dafür das ViCare App.

Heizzeiten sind nicht out-of-the-box implementiert, da steht das Aufsetzen eines eigenen Systems in keinem Verhältnis zu den 100€.

@HerrP Sorry 😉

Es haben zum Glück nicht alle Leute Lust ihre Daten in die VM Cloud zu schicken.

Für die ist der Splitter ideal

 

>>Heizzeiten sind nicht out-of-the-box implementiert

alle Features die das  Heizgerät unterstützt und das Vitoconnect verwendet, bzw. dir erlaubt davon zu nutzen,  kann auch mit dem Splitter verwendet werden.  Man muss nur  die entsprechen Adresse verwenden.

 

VG 

 

 

für "Fernbedienung" (von zuhause das Vereinsheim) ist der Splitter nicht gedacht. Da müsste ein VPN aufgebaut werden und so. Der Splitter ist dafür, wenn man seine Daten LOKAL nutzen will. 

 

Die Heizzeitengeschichte ist auch wirklich etwas 'tricky'. Viessdata hat da eine ganz schöne Oberfläche für, das kann man ja auch über den Splitter benutzen (aber auch ohne). Aber nur mal grad eine Schaltzeit auf einen Datenpunkt schreiben bedeutet Byte/Bit Bastelei... 

 

Also das original teil kaufen . 

Es soll funktionieren und arbeit sparen 

 

Danke für die schnelle Rückmeldung 

 

 

Interesant, habe mit dem Hinweis auf die Spannung die Logs nochmal durchgeschaut und festgestellt, dass ein Teil der Errors genau dann auftreten, wenn die Wärmepumpe den Warmwasserpuffer zu heizen beginnt. An der Netzspannung sehe ich allerdings keine Auffälligkeiten zu den Zeitpunkten.

 

dmesg | grep -i voltage

gibt keine Werte zurück.

 

Kann das an dem CP2102-Adapter liegen, dass der nicht richtig verpinnt ist? Die Netzteile vom Raspberry ist ein Original-Netzteil und von der Vitoconnect auch, die sollten ja eigentlich ok sein. An welcher Stelle sollte ich die >5.1V messen?

Hallo Zusammen. @HerrP, erst mal vielen Dank für das Tool! Ich habe das ganze mit meinen rudimentären Fähigkeiten jetzt endlich auch zum Laufen gebracht. 

 

Mein Hauptziel ist es gerade herauszufinden, warum die Anlage so ewig lange in der WW-Aufbereitung steckt, wodurch der Pufferspeicher viel zu kalt wird. Aktuell schlage ich mich noch mit den Adressen herum. Zumindest habe ich laut NodeRed/API schon mal rausbekommen dass es sich um CU401B_S handeln müsste. (Vitocal 250-S-HAWB AC252.A13)

 

Pufferspeicher Temperatur kann ich exakt auslesen, aber seltsamerweise stimmt DHW nicht mit dem Wert in der ViCare App überein, bzw dieser "hängt" in der ViCare App scheinbar hinterher. Kann das sein, oder habe ich da vielleicht doch einen falschen Datenpunkt erwischt?

 

 

 

Bei meiner Anlage handelt sich um eine Hybridsystem, an dem noch eine Gasheizung hängt. Diese besitzt leider kein Optolink, weshalb mir ein paar wichtige Werte fehlen. Weiß zufällig jemand, ob man zumindest die Anforderung des Gasgeräts über das Steuergerät (Vitocal) per Optolink auslesen kann?

 

Viele Grüße
Felix

@Fele  ist die Gasheize auch Viessmann? für die OneBase Generation haben wir ja noch das open3e ... Wie ist die Gasheize denn an die WP angeschlossen?

 

Dass Vicare hinterherhängt ist normal. Aber du kannst ja mit der viconn_to_mqtt option auch mal schauen was Viessmann liest und das mit deinem DP vergleihen.

 

 

@Stef2  versuch das noch mal:

 

HerrP_0-1766966379711.png

 

Kann es sein, dass es sich um ein EMV Problem handelt? Die CP2102 Drähte sind wahrscheinlich nicht abgeschirmt und sowohl Raspi als auch CP Borad offen? 

 

Hast du mal geschaut, ob du eine Masse/Erde Scheife hast?

 

Ich nehme an bei WW Heizstart ändert sich die Leistung schlagartig?

 

 

 

"vgencmd get_throttled" liefert "throttled=0x0" zurück, das scheint demnach zu passen.

 

Das Board ist offen, auf dem Raspi ist das Kunststoff-gehäuse normalerweise geschlossen, habe ein Foto angehängt, wie die Kabel verlegt sind mit offenem Gehäuse.

 

Wenn die WW-Heizung anspringt, scheint sich die Leistung nur recht langsam zu ändern, habe einen Screenshot der elektr. Leistung gemacht, wenn die Heizung anspringt. (Ist die Gesamtleistung vom Haus).

 

Zusätzlich zum CP2102Board hängt am zweiten USB-Port ein USB2CAN-Adapter (https://www.inno-maker.com/product/usb2can-cable/), da habe ich die Masseleitung vom CAN der VX3 durchgeschleift, die sollte eigentlich nur am VX3 aufliegen, der Adapter selbst ist ja isoliert.

 

PXL_20251229_103409539.jpg
Bildschirmfoto vom 2025-12-29 12-04-32.png

du nutzt auch unser anderes Projekt open3e? 😉 

 

Das sieht ja eigentlich alles ziemlich sauber aus. Wie ist es mit dem Schirm vom LAN Kabel? Den hab ich bei meinem Heizungs-Raspi abgeklebt, weil mein einer PV Wechselrichter (Lumentree) in die 1-Wire Sensoren reinseuchte. Das is mit dem Abkleben merklich besser geworden. Dein Stecker sieht aber fast so aus, als würde der den Schirm granich konnektieren?

 

Wird beim Umschalen auf WW ein Magnetventil geschaltet?

 

Das Netzwerkkabel hat tatsächlich nur einen Kunststoffstecker, hab es gegen eins mit Metallstecker getauscht, da sollte der Schirm hoffentlich kontaktiert sein. Mal 24h abwarten, ob das die Neustarts verändert.

 

Habe auch getestet, was passiert, wenn man den Optolink-Kopf an der WP abzieht. Das gibt auch eine Log-Eintrag, aber nur "VS2 detected", keinen Error 5.

 

Wegen EMV habe ich einen Test mit einem Föhn gemacht, den ich an der Steckdosenleiste des Raspi angeschaltet habe, das hat zu keinem Fehler geführt. 

 

Magnetventil wird soweit ich sehe, keines geschaltet bei WW-Bereitung.

ich meinte eigentlich genau andersrum - den Schirm am Raspi nicht verbinden. Weil am Switch ist der ja eigentlich immer aufgelegt (wenn es kein UTP Kabel ist), und dann kann man sich damit irgendwelche Schleifen reinholen...

 

Die Geschichte mit unterbrochener Optolink Verbindung habe ich tatsächlich in der Software bisher sehr 'stiefmütterlich' behandelt, weil es gewöhnlich nicht passiert. In der Konsole bekommst du eine Timeout Meldung, aber die die taucht bisher nicht im Log auf. Wegen den immer häufiger benutzten Eigenbauadaptern sollte ich da vielleicht mal nacharbeiten.... 

 

Error 5 ist aber klar, dass was mit der Hardware/anbindung nicht stimmt. der andere (Device reports...) kann gut eine Folge davon sein.

Vielen Dank, das probier ich einmal aus. Wenn das nicht klappt, bestelle ich bei Gelegenheit nochmal ein CP2102-Board, vielleicht ist mit dem etwas nicht in Ordnung.

das CP2102 Board ist ziemlich unwahrscheinlich das Problem. Die Hardware/anbindung da ist ja die ttyAMA0. Das CP Board hängt dann ja nur an IO Pins (die für die UART benutzt werden, aber es sind 3.3V IOs).

 

Ich hab mal gelesen, dass es Probleme mit der ttyAMA0 geben kann, wenn die CPU Last sehr hoch ist (dass es nicht mehr reicht, um die UART ausreichend zu 'verarbeiten'). Aber von einem Resourcenproblem geh ich erstmal nicht aus.

 

Ist das ein 3er oder 4er Raspi? und was läuft da noch drauf?

Das ist ein Raspi 4B, die CPU-Auslastung liegt so bei ca. 30%. Es läuft nur der Optolink-Switch und Open3E drauf. 

 

Ich tippe im Moment auf etwas an der Verkabelung, möglicherweise tatsächlich EMV, werde einmal nach und nach Kabel tauschen und sehen, was passiert.

@HerrP 

Das Gasgerät ist ebenfalls Viessmann (Vitodens 200-W B2HF-32 2,5-32kW)
Wie das genau an die WP angeschlossen ist, weiß ich nicht. Ich kann es zumindest per Wifi/ViCare ansteuern.

Bezgl der MQTT Datenpunkte - diese sehe ich im MQTT Explorer, insgesamt 1046 Topics, aber ich weiß nicht so ganz was ich damit machen soll. 🙂

Was mich etwas wundert - die Standardwerte der settings_ini passen größtenteils, allerdings liefert "hk1_supply_temperature" den Wert 0. (Wir haben zwei Heizkreise und bei HK2 scheint es zu stimmen.)

 

Ich hab aus den DP-Listen alle möglichen Adressen versucht die in Frage kommen, aber bisher hat nichts gepasst. (DP_CU401B_S)

LG
Felix

 

Fele_1-1767388392545.png

 

 

ich habe gerade noch eine andere Poll-Liste gefunden. Aber auch hier passt irgendwas nicht so ganz mit den ViCare Daten zusammen. Die App hängt scheinbar manchmal ein paar Nachkommastellen hinterher, aber trotzdem konnte ich nicht alle Werte zuordnen.

 

Mir fehlt "Vorlauftemperatur der Heizkörper" (54,2°) - ViCare
Bzw, ich weiß nicht wozu tempSekHK1VL (50.9°) gehört - Optolink Splitter

 

Und nach wie vor wundert es mich, dass der Datenpunkt aus dem letzten Post (HK1_supply_temperature) den Wert 0 ausgespuckt hat...

 

Müsste die VL HK1 Temp nicht 1:1 dem Pufferspeicher entsprechen?

(Sorry wenn ich hier insgesamt etwas planlos unterwegs bin. Ich versuche insgesamt eigentlich nur rauszufinden, warum in sämtlichen Wohnungen immer wieder die Temperaturen absacken – bevor ich einfach alle VL Temperaturen nach oben drehe...)

 

Fele_1-1767392292299.png