User mit Weishaupt Heizung mit eBus / Lust auf Weishaupt Codes zu entschlüsseln

Und ich hab gerade herausgefunden, daß die nächste Gerätegeneration der WTC Gasgeräte (ist noch nicht zu kaufen) keinen Ebus mehr hat sondern einen Netzwerkanschluß (Ethernet). Die Heizkreismodule/Fernbedienungen werden per CAN-Bus verbunden… :frowning:

Hier mal die Datei, mit einem C-Programm formatiert und in Tabelle kopiert. Vielleicht wirst du daraus schlau?
2360.xls (110 KB)

Wenn du mal Zeit hast, vergleich doch die Adress-Spalte in der Ebus-Tabelle mit deinen. Da müssen Übereinstimmungen dabei sein.

Hallo geronet :slight_smile:

Die Tabelle hab ich mal überflogen - ich habe auf den ersten Blick leider keine Adresse gefunden - beispielsweise hab ich nach denen aus der Errorhistory gesucht…

…aber ich war auch mit den Gedanken bei etwas anderem! :wink:
Ich habe ein Shell-Script entwickelt, das das Check-Byte berechnet. :smiley:

Siehe https://forum.fhem.de/index.php/topic,61017.msg560991.html#msg560991

Hallo geronet, hallo Welt! :wink:

Ich habe mich mit dem Fehlerspeicher des WTC beschäftigt und die Nachrichtendefinitionen für ebusd überarbeitet.

Es ist mir gelungen, die Nachrichtendefinitionen so zu verketten, dass ein einziger aufruf des ebusctl-Kommandos genügt, um den kompletten Fehlerspeicher auszulesen.

Siehe https://forum.fhem.de/index.php/topic,61017.msg561536.html#msg561536

Dabei bin ich auch zu der Erkenntnis gekommen, dass der erste Wert des ersten Telegramms für die Fehlerhistorie nicht die Anzahl der Fehler im Speicher ist, sondern der Offset zum ersten Fehlereintrag innerhalb des Ringpuffers!

Hallo J0K3r, das mit dem Offset kann ich leider nicht bestätigen, bei beiden Geräten.
Die Anzahl der Fehler im Speicher steht bei mir an Block 06 02, Adresse 2BC und bei dem WTC32 an Block 06 01, Adresse 23C. Wenn man den Fehlerspeicher zurücksetzt, kommt da auch eine 0. Scheint wohl bei jeder Version anders zu sein?

Ich implementiere grade die Telegramme und stricke sie nach den Adressabfragen selbst zusammen, welche Werte ich brauche. Funktioniert super und hast du gut herausgefunden, kann man dir einen ausgeben? :smiley:

Habs grad mit dem Fehlerspeicher nochmal gecheckt, du hast Recht!
Aber die erste Zahl die er abfrägt ist kein Offset als Speicheradresse sondern die letzte Fehlerposition im Ringpuffer. Kommt ein neuer Fehler rein liest er die Zahl und überschreibt den nächsten (also den ältesten) Fehler und inkrementiert die Zahl um 1.
Somit muss man den Fehlerspeicher komplett auslesen, nach der laufenden Nummer ist das dann der jüngste und die rückwärts jeweils die älteren :rolleyes:
Beim Fehlerspeicher-Rücksetzen schreibt er mit Kommando 50 01 über alle Fehler 0 drüber.

Ist ganz schön umständlich und aufwendig, da mein Fehlerspeicher über zwei Blöcke verteilt ist (06 01 und 06 02) und das noch irgendwo mittendrin…

Hallo geronet! :slight_smile:

Ich verfeinere gerade meine Nachrichten-Definitionen.
Hast Du zufällig das 500A-Telegramm entschlüsselt, das vom Heizungsregler per Broadcast in den eBus gefeuert wird?

Speziell interessiert mich das erste Byte - bei mir Status 1 - , das dritte Byte - ich nenn es Status 2 - und das vierte Byte - Status 3.

Das zweite Byte ist vermutlich die Betriebsphase.

Die gesuchten Status-Bytes sind wohl Bit-codiert.

Meine Vermutung für die Bitbelegung für Status 2 sieht so aus:
Bit 0 - ?
Bit 1 - ?
Bit 2 - ?
Bit 3 - Flamme
Bit 4 - Gasventil 1
Bit 5 - Gasventil 2
Bit 6 - Pumpe
Bit 7 - Fehler-Bit

Viele Grüße
J0K3r

Hi JOK3r, 50 0A sendet meiner auch alle 30 sek.
Byte 0 weiß ich nicht.
Byte 1 ist die Betriebsphase bzw. Fehler
Byte 4 ist ein d1c Wert (Vorlauftemperatur)

Grad gefunden, du hast es selber schon rausgefunden:
Weishaupt WTC am eBus mit ebusd
:smiley:

Hab jetzt eine zweite ebus-Platine gelötet und in meinen Regler eingebaut. Muss nur noch die Software bisschen verbessern (z.b. Fehlermeldung bei Verbindungsabbruch) und dann läuft die Sache :wink:

Was anderes ist mir auch aufgefallen, zum testen hab ich öfters mal die Adresse vom Kessel geändert.
Bei 1 (Einzelkessel) schickt er das 500A Telegramm an Broadcast…
Bei A-D schickt er ein ähnliches Telegramm gezielt an Adresse 0x10, das ist dann der Kaskadenmanager.
Wenn man dem Kessel einen Sollwert mit 0507 schickt, muss man das spätestens alle 10 min machen sonst kommt Fehler W80 (Kommunikation zum Kaskadenmanager oder WCM-Sol fehlerhaft) oder W81 je nach dem welche Adresse man verwendet zum senden.