Vaillant Therme über eBus steuern

Der B512 bringt bei mir keine Infos über die im Wiki hinaus. Habe allerdings auch interne Pumpe…

Ich habe ja auch nur eine interne Pumpe. Und die Sendeintervalle von B512 hängen tatsächlich irgendwie mit den Brennzyklen zusammen, aber die Pumpe läuft immer an lange bevor der Befehl kommt.

Zeitweise sind die Daten 4 x 02 00 und 4 x 02 FE abwechselnd, dann eine Weile lang immer nur jeweils 4x das eine oder nur 4x das andere. Dann plötzlich einige Male zwischendrin bei den vier Sendungen ganz unterschiedlich… was aber die Ausnahme ist. Kurz gesagt, ich kann mir keinen Reim darauf machen.

Was ich herausgefunden habe sind auf jeden Fall beim B510 das Byte M12:

[ul]
[li]0x00 - Heizbetrieb[/li][li]0x01 - Kein Wärmebedarf[/li][li]0x05 - Heizpause Sommer (wird im Klartextdisplay auch so angezeigt, setze ich also wenn die Heizgrenztemperatur überschritten ist)[/li][/ul]

Und beim B511 ist das Byte S10 ein Flag, das eine Betriebsstörung anzeigen kann. Ist normalerweise 0x00 und im Störfall 0x01.

Interessant, Kann man eine Betriebsstörung irgendwie simulieren?

Gashahn zudrehen sollte funktionieren. Er müsste dann mehrmals versuchen zu zünden und anschließend mit Störungsmeldung abschalten.

Sach mal Sokke, hättest Du nicht Lust in Hamburg vorbei zu schauen?

Ich würde Dir gerne mal eine Platine mit einem µP und E-Bus Teil nahe bringen.

Ich würde Dir zutrauen Den mit Info’s zu füttern, damit der µP nur die relevanten Daten an IPSymcon weiter gibt.

Da ich keinen E-Bus habe liegt die Platine nur so rum :wink: Würde Dir da µP - Softwaretechnisch beistehn.

Gruß Helmut

Hallo Helmut,

wenn du den Stammtisch meinst - da werde ich natürlich auch hingehen :wink:

Habe mir deine Homepage mal angesehen, das sind ja eine Menge sehr interessante Projekte die du da hast.

Ich habe schon einiges probiert reglertechnisch, es gibt auch schon eine Analogwandlerplatine, mit der ich die Heizungssteuerung über einen Arduino realisieren könnte. Noch will ich aber versuchen, die Anlage lieber direkt aus IPS zu fahren.

Das mit den Peaks, kannst Du es nicht über das Log-File eingrenzen, wenn Du meinst, dass es von IPSymcon kommt?

Zu der Platine, es ist eine normaler E-Bus-Platine mit dem 4011 und einem PIC-Prozessor.

Zum Testen ist eine Steckbrücke vorgesehen, mit ihr kann man(n) wählen, ob man über den µP Daten sendet oder empfängt (über HID-USB) oder mit RS232 oder senden mit RS232 – empfangen, mit µP senden oder oder.

Was soll Das:
der µP könnte die Filterung des Busses übernehmen und nur die gültigen Daten über den HID-Port ausgeben.

Edit: Die Platine kann jeder bekommen, der sich soetwas zutraut zu entwickeln und ein E-Bus-Gerät hat.
Gruß Helmut

Das ist es ja gerade, die Peaks kommen nicht aus IPS. Wenn ich mir die Solltemperatur, oder die „Set Operational Data“-Pakete mit logge, gibt es da überhaupt nichts auffälliges.

Konnte gerade Live miterleben, wie meine Therme spinnt. Vorlauf ging auf 85°, Speicher zeigte astronomische 127,5° (also FFh, mittlerweile 70°). Habe alle Infos aus Befehl B5h 11h Block 1. Sehr interessant ist auch, dass S9, also der Betriebsstatus vollkommen rumspinnt (siehe Screenshot. Normalerweise: 0=Aus, 1=Heizbetrieb, 4=WW) und S10 und S11 jeweils 04h anzeigten. Ich kann mir das nicht erklären…

ebus.GIF

Es wäre ja auch nicht völlig auszuschließen, dass ein Hersteller, der ohnehin bemüht ist, sich durch proprietäre Spezialbefehle inkompatibel zu anderen zu machen, noch weitere „Tricks“ parat hält, um unliebsame Konkurrenz auszusperren. Zuzutrauen wäre es solchen Firmen ja. Ich wüsste jedenfalls so allmählich keinen vernünftigen Grund mehr, warum sich die Thermen sonst so verhalten sollten.

Interessant wäre unter diesem Gesichtspunkt jedenfalls mal, sich das Verhalten eines „offiziellen“ Reglers insbesondere unter den Aspekten

[ul]
[li]Ping-Pakete und ähnliche unbekannte Sendungen
[/li][li]Unknown-Bytes, die manchmal andere als die Default-Werte haben
[/li][li]
[/li][/ul]

anzusehen

Außerdem, weitere Frage: Wenn du einen Befehl sendest, z.B. B511, sendest du dann am Ende auch das Byte M8 und M9 (ACK und SYN)?

Wenn ja, wie hast du das programmtechnisch umgesetzt?

Axel, bei dem Desaster da, stimmt die CRC denn da noch? Die Werte für S9 machen ja auch bitmaskenmäßig nicht so richtig erkennbar Sinn. Und S11 ist bei dir normalerweise auch FF oder?

Ich sende nie B511, sondern immer nur B509 wie im anderem Thread dargelegt. Im B510 konnte ich erkennen, dass die VCR-Steuerung nicht das Problem zu sein scheint - demnach tickt nur die Therme aus, wie im B511 manifestiert.

Am Ende ist es nicht ganz tragisch, es wird ja nur der WW-Tank erwärmt - danach ist der Spuk vorbei.

Hallo zusammen,

ich will mich jetzt auch mal an das Auslesen einer Vaillant Therme wagen und wollte fragen, welches eBus Interface ihr benutzt oder ob ihr das selber gebaut habt?

Auf http://eservice-online.de habe ich einen eBus USB Koppler gefunden. Kann man mit diesem etwas anfangen?

Grüße

Thommy

Hallo Tommy,
will nicht eigenwerbung machen, aber der eBuskoppler wird inzwischen von sehr vielen Usern verwendet. Anhand der Verkaufszahlen kann ich das sagen.

Grüße
andrge

Das ist ja genau das, was ich wissen wollte. :wink:

VG

Ich benutze den und kann ihn weiter empfehlen, ohne dass ich davon persönlich profitiere :wink:

Zu meiner Thermen-Problematik: Ich werde jetzt die Ansteuerung der Therme nicht mehr über eBus machen, weil das nur zu Problemen führt. Ich habe mir zwar mal eine Original Vaillant eBus-Steuerung besorgt, aber ich werde mir zunächst mal eine Analogsteuerung mit an meinen Arduino basteln und die Solltemp. über die 7-8-9-Schnittstelle setzen. Den eBus benutze ich weiterhin nur zum Auslesen, weil das keinen Ärger macht. Es ist eine umständlichere Lösung, aber es soll eben funktionieren…

Ich benutze genau diese Hardware und mittlerweile den C# Adapter. Beides ist uneingeschränkt empfehlenswert!

Ich habe den eBus Koppler Ethernet und der funktioniert auch bestens. (An den habe ich dann noch einen Ethernet-WLAN-Adapter angehängt, sodass ich vom PC über WLAN auf den eBus komme, weil ich dazwischen keine Kabel habe).

Eine andere kurze Frage: Weiß zufällig wer, wie ich die Zeitfenster (z.B. Tag-Betrieb zwischen 06:00 und 22:00, sonst Absenk-Betrieb) am Regler (bei mit VRT 370) setzen kann?

Auslesen geht mit QQ ZZ B5 15 02 XX YY CRC wobei XX = Wochentag, YY = HK1 (00) / Warmwasser (01) / Zirkulationspumpe (02).

Gibt es aber auch einen Befehl zum Schreiben dieser Werte?

Und gleich noch eine Frage: Ich habe bei mir beim Empfangen ca. 10-15% ungültige Nachrichten (teilweise CRC-Fehler, teilweise komplett verstümmelte Nachrichten). Besonders oft scheint bei mir das ACK vom Slave bei einer Master-Slave-Nachricht (also die 00 zwischen Master- und Slave-Teil der Nachricht) zu fehlen (was ich aber zumindest noch softwareseitig „korrigieren“ kann).

Wie ist das bei euch? Kann es sein, dass der Trimmer am eBus Koppler falsch eingestellt ist? Das einzige, was mir beim Trimmer aufgefallen ist, ist dass wenn er zu weit in die eine Richtung gedreht ist, ich zuerst nur mehr Daten vom Regler (aber nicht mehr von der Therme) empfange bzw. wenn ich ihn noch weiter drehe, dann überhaupt nichts mehr. Im Moment habe ihn aber eher in die gegenteilige Richtung eingestellt.

Grüße!

Ich erspare mir das. Wenn ich das ACK senden müsste, habe ich die Daten vom Slave eh schon bekommen. Ich habe bei mir nicht beobachtet, dass bei einem fehlenden ACK die angesprochene Komponente irgendetwas nochmal senden würde.

Und auf das SYN verzichte ich auch, weil sowieso kurz später (max. eine halbe Sekunde) ein Auto-SYN von der Heizung kommt und somit den Bus wieder freimacht.

Bei mir funktioniert das eigentlich problemlos, wobei ich nicht direkt die Therme steuere, sondern über den B5 09 die Einstellungen am Regler ändere und ihn dann normal die Therme steuern lassen. Das klappt aber (dank der Hilfe von axelp) super (sowohl lesen, als auch schreiben).

Bin mit meinem Projekt schon recht weit und werde dann mal meine Scripts posten, wenn ich fertig bin.

Ich habe den Wochenplan am Regler so eingestellt, dass WW/HK1/Zirk dauerhaft läuft und lasse dann IPS die Vorgaben regeln (Betrieb, Heizkurve etc.).

Wenn du trotzdem weiter suchen möchtest, hier ein Paar Schnipsel vom Franzosen:

To write …:

FF 15 B5 05 05 2E 01 29 28 28 24 -> 20
FF 15 B5 05 05 2E 01 29 14 28 AA -> 10
FF 15 B5 05 05 2E 01 29 29 28 BF -> 20,5

FF 15 B5 15 09 00 00 2D 84 89 8A 90 90 00 DA LUNDI 20°
FF 15 B5 15 09 01 00 2D 84 89 8A 90 90 00 47
FF 15 B5 15 09 02 00 2D 84 89 8A 90 90 00 7B
FF 15 B5 15 09 03 00 2D 84 89 8A 90 90 00 7B

FF 15 B5 15 09 06 00 2D 84 89 8A 90 90 00 A2 DIMANCHE 20°

pour supprimer plage :
FF 15 B5 15 09 00 00 2D 84 89 89 90 90 00 38 LUNDI

modifier temperature plage :
FF 15 B5 05 05 2E 01 29 28 28 24 -> lundi 20°
FF 15 B5 05 05 2E 02 29 28 28 C6 -> mardi 20°

FF 15 B5 05 05 2E 07 29 28 28 7B -> dimanche 20°

FF 15 B5 02 06 00 B4
FF 15 B5 15 02 04 00 19

Danke & Gruß, Axel