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

Per eMail und Telefon sowhl in der NDL Frankfurt als auch Schwendi. Aber: das ist 3 Jahre her, versucht es doch einfach mal!

Ne keine Weishaupt Anlage… komme aber aus Nähe der direkten Weishaupt Zentrale und kenne dort einige MA… :slight_smile:

Ui könnten wir da ggf deine ‚Connections‘ nutzen? :wink:

@mastermind: Hier eigentlich mal was rausgekommen?

Hallo zusammen,

gibt es hierzu noch irgendwelche Fortschritte?

momentan beschäftige ich mich auch mit dem Thema. Seit hier der letzte Beitrag eingestellt wurde, ist ja einige Zeit vergangen, in der sich einiges in Richtung ebus entwickelt hat.

Mit einem Ethernet-Ebus-Koppler greife ich per ebusd von johnm (Link) auf den Bus zu.

Mein Problem ist, dass ich mit den Daten, die ich vom Bus empfange recht wenig anfangen kann. Ich habe allerdings eine Dokumentation von Weishaupt zu einer sogenannten Kopplungssoftware (dient der Ansteuerung einer Kaskade aus mehreren Wärmeerzeugern, auch in Verbindung mit mehreren Fernbedienungen), in der beschrieben wird, wie man die Info-Werte auslesen kann:

Beispiel I-Werte lesen (PB 50h SB 03h)

Anzahl zu sendender Bytes = 1
Master-Slave = 1
Anfangs-DW = 120
Quell-DB = 71

DW Inhalt
zu beschreibende Werte:
120 I-Bezeichner , -
interne Werte; nicht verändern:
121 Speicher Sekundenwert bei letztem Aufruf des PB 153 für diese Parameter,
Speicher Sekundenwert bei derzeitigem Aufruf des PB 153 für diese Parameter
122 Speicher Sekunden seit letztem Aufruf des PB 153 für diese Parameter
bei Bedarf zu beschreibender Wert:
123

Auslösen sofortiges Senden (bei Wert > 0).
Jedesmal wenn ein Befehl sofort gesendet werden soll, ist dieser Wert einmalig auf 1
zu setzen. Er wird nach Abarbeitung des Befehls automatisch wieder auf 0 gesetzt.|
|
empfangene Werte:||
|124|Codierung , Wert low byte|
|125|Wert high byte , vorheriger I-Wert|
|126|nächster I-Wert , -|

Mit meinem Anfängerwissen hätte ich das Ganze so interpretiert, dass wenn ich beispielsweise folgendes Telegramm per ebusd versende:

ebusctl write -h 0850030126
(also an die Adresse 08 den Befehl 5003 mit 01 Byte Datenlänge und hexadezimal 26 (also dezimal 38)

der Infowert I38 -> Pufferspeichertemperatur kommen sollte. Nur die kann ich die Temperatur von 52 °C in dem Antwort-Telegramm „0625642528fbfb“ nicht entdecken. Ich hab schon nach der Umrechnung zwischen High und Low Byte gegoogelt und hin und her gerechnet, aber meine Puffertemperatur hab ich nicht herausbekommen.

Grüße

Thomas

Hey Thomas 3025, dann stell doch die Dokumentation, die du hast, allen zur Verfügung…

Ich bin auch sehr an der Anbindung interessiert! Allerdings an FHEM, aber das macht ja keinen Unterscheid bei dieser Thematik.

Gruß
duffy6

Vielleicht hilft das bei der Umrechung High/Low Byte

Gruß
duffy6

Ich hänge mich hier auch mal dran. Habe ne WTC-32A und das modul hydraulik. Ausreichend PHP kenntnisse :slight_smile: Mein Ziel ist ein fertiges Skript für Weishaupt Thermen zu schreiben, was einfach in IPS integriert werden kann. Ich bin über jegliche Infos über das Weishaupt Protokoll dankbar :slight_smile:

Jemand mit guten PHP Kenntnissen wäre Klasse.
Ich selber habe eine WTC-15 und, wenn man sich die ersten Posts dieses Threads anschaut (Excel Sheet) ja schon einige Telegramme per reverse engineering entschlüsselt.

Mein Problem war immer, dass ich nicht genug PHP Kenntnisse hatte, um das in ein schönes Skript zu giessen.
Ein aus meiner Sicht guter Ansatz wäre, das Vaillant Skript von Terenyi:

eBus Manager

Man müsste (nur) das Skript auf IPS 4.0 anpassen und für die Weishaupt Befehle anpassen. Das Protokoll wird von Terenyi mit einem Windows Dienst „eBus Connector“ abgegriffen und die Datenfelder extrahiert: eBus Connector

Danach hätte man aus meiner Sicht einen praktikablen Weg. Schön wäre natürlich, wenn man die Befehle in einem Config-File hinterlegen könnte, dann könnte man neue entschlüsselte Werte einfach nachtragen. Ich habe selber sowohl einen von Helmut und mir entwickelten eBus Adapter zum Senden und Empfangen (Gaaaanz alt :-), also auch den originalen von Weishaupt mit der WCM Software. Dort bekomme ich alle Parameter und deren aktuellen Werte angezeigt, und kann auch das Protokolldump mitlesen. So konnte ich, wie gesagt, schon einiges entschlüsseln.

Das wäre wirklich toll wenn sich hier etwas ergeben würde… Ich lese momentan schon einige Werte aus aber z.B. Schreiben wäre auch toll…

Prima, mit euren Erfahrungen bekommen wir das sicher gut hin. Was mir nicht so sehr gefällt ist der eBus Connector als seperaten Dienst. Gerade weil ich sobald ich auf IPS 4 wechsel auf Linux gehen werde. Habe jetzt nur am Handy kurz reingeschaut, aber sollte das nicht auch mit IPS only möglich sein? Das Skript werde ich natürlich so schreiben, dass es beliebig erweitert werden kann.

@wupperi: Deine längere Erfahrung mit dem Protokoll kann ich sicher noch gebrauchen. Wenn ich soweit bin, das das Grundgerüst steht, komme ich nochmal auf dich zu. Die original Software macht das „entschlüsseln“ scheinbar einfacher. Ist die original Software irgendwo zu bekommen?

@CyroGenID: Benutzt du zum auslesen den eBus Connector Dienst, oder IPS only?

Noch habe ich keinen Adapter, sobald ich diesen habe, geht es richtig los. Da meine Therme über das Modul Hydraulik mit meinem BHKW kommuniziert, wird es bei mir sicher schwerer Daten zu filtern, da viel mehr Daten über den Bus gehen. Die Weishaupt Therme dient bei mir nur als Backup oder falls mal richtig viel Wärme gebraucht wird.

Nur mit IPS wird schreiben nix.
Damit kannst du nur mitlesen.
Das Schreiben muss u.a. synchronisiert mit dem Bus erfolgen. Der eBus Connector kann dies zwar, hält sich in anderen Punkten aber nicht an die Specs.
Wenn das dann auch noch über PHP und LAN erfolgt, kracht es auch dem Bus.
Michael

Michael okay das klingt nicht gut. Die src vom eBus Connector scheinen ja öffentlich zu sein. Eventuell kann man sich da was abschauen und mehr auf die Specs eingehen. Dann sollte es möglichst unter linux und windows laufen. Du hast ja gestern gesagt, dass du auch an einem Adapter dran bist. Du kümmerst dich dabei aber nicht ums cutten und syncronisieren von den Daten? Nicht das wir jetzt beide anfangen :slight_smile:

@Baba:
Ich nutze den Ethernet eBus Koppler und lese momentan die Daten via IPS aus…

Viele Grüße,

Chris

Doch, die Planung ist dass ich eine Hardware habe welches alles was den Bus betrifft selbst erledigt.
Von Checksummen über Timing bis hin zu die Daten zu expandieren etc… also alles.
IPS soll dann ‚nur‘ den aufbereiteten Datensatz (Quelle, Ziel, Nutzdaten) bekommen.
Senden inkl. Caching bis der Bus sendebereit ist macht auch die HW und meldet die Antwort wieder an IPS.
Michael

Okay, das macht meine geplante Arbeit gerade zunichte. :slight_smile: Wirst du diesen Adapter dann für die Öffentlichkeit zugänglich machen und wann wird es ca. soweit sein? Meine Lösung wäre jetzt ein Rasberry Pi gewesen, der diese Aufgaben übernimmt, aber deine Lösung ist natürlich wesentlich professioneller. Wirst du auch die Funktion wie terenyi einbauen, die die gesendeten Bytes einzeln prüft und ggf. frühzeitig abbricht und es beim nächsten SYN erneut versucht?

So wie das teneryi macht ist es ja falsch :smiley:
Du must beim Senden die Arbitrierung durch die Master-Adresse beachten.
Dadurch wird festgelegt ob du senden darfst, warten mußt oder sofort einen neuen Versuch starten mußt.
Das SYN-Zeichen selbst heißt ja ‚nur‘ Bus ist jetzt frei für ALLE Master zum senden.

Wenn du aber eh einen RPI nutzen möchtest, gibt es da sogar war fertiges:
GitHub - john30/ebusd: daemon for communication with eBUS heating systems

Aktuell ist es bei mir so, dass ich erst min. zwei Prototypen ausgiebig testen (lassen) möchte.
Hardware der Prototypen ist soweit ‚fertig‘ (warten auf Leiterplatten).
Software ca. bei 80%.
Aber einen genauen Zeitpunkt… kann ich noch nicht mal schätzen, da ich es ja in meiner beschränkten Freizeit mache.
Und dann ‚fehlt‘ noch das Gegenstück in IPS. Wird vermutlich als PHP-Modul für IPS4.x only umgesetzt.

Wobei dies dann als Basis für Wolf, Weishaupt, Vaillant etc… dienen kann.
Weil ja jeder Hersteller da was eigenes macht, wird man da wohl nicht rum kommen.
Michael

Was Michael sagt hat, basierend auf meinen Recherchen vor ein paar Jahren Hand und Fuss. Einfach auf den Bus senden lässts irgendwann krachen.

Die Weishaupt Software ist nicht frei erhältlich, aber selbst wenn man sie hätte, sie funktioniert nur mit dem Weishaupt Datenadapter. Da ist ein kleiner Micro-Controller drin, der das was Michael schreibt wohl auch erledigt. Er scheint auch eine Art Prüfroutine der Software zu beantwortet, weil ohne diesen Adapter akzeptiert die Software keine Werte, auch wenn diese eBus konform über den Com Port kommen.

Was ich tun kann wäre:

a) Den Adapter testen, Helmut und ich sind auch immer am hin und herschicken
b) Screenshots mit Werten und die dazugehörigen Telegramme zu senden. Ggfls. findet jemand dann ja mehr Parameter raus als ich :slight_smile:

@Michael: Nach dem überfliegen der Specs: Du hast du natürlich völlig recht :slight_smile: Wenn du Hilfe beim Testen brauchst, gib bescheid. Ja ab da würde ich dann weitermachen und zumindest die Implementierung für Weishaupt angehen. Die Geschichte mit dem Pi und dem Github Projekt würde ich dann solange schonmal ausprobieren. Aber so wie du es vor hast, alles was mit eBus zu tun hat direkt im Adapter zu machen ist natürlich schon ne schicke Sache. :slight_smile:

@wupperi: Wenn der Adapter von Michael soweit steht und funktioniert, ist der Rest kein Problem mehr :slight_smile: Das bekommen wir dann mit deinem Programm zusammen hin :slight_smile:

Prima.

Auf meiner Website steht meine eMail Adresse, da bin ich immer sofort zu erreichen.