Forum: Mikrocontroller und Digitale Elektronik ebus protokoll mitschnitt bei einem Wolf Heizkessel


von Bernd (Gast)


Lesenswert?

Hallo kann mir jemand weiterhelfen ich habe mir den 232 Converter 
zusammengebaut und kann auf den ebus zugreifen.
Habe mir auch die Spezifikation vom ebus user club heruntergeladen aber 
in der
Spezifikation sind keine Telegramme dabei mit denen ich relevante Daten 
aus der Steuerung auslesen kann.
Hat irgend jemand ein Bediengerät das an einer Wolf Heizung über ebus 
dranhängen und kann den Telegramm verkehr mitschneiten und aufzeichnen.
Damit man telegramme herausbekommt mit der man die einzelnen Messwerte 
aus der Steuerung herausbekommt.
Oder hat schon irgend jemand sich die Telegramme herausgesucht?
Wenn man ein Telegramm zum auslesen der Hersteller Definition an die 
Regelung schickt zeigt es die x10 und das bedeutet Tem

von JÜrgen G. (Firma: 4CKnowLedge) (psicom) Benutzerseite


Lesenswert?

Bernd wrote:
> Hallo kann mir jemand weiterhelfen ich habe mir den 232 Converter
> zusammengebaut und kann auf den ebus zugreifen.

WTF? Die RS232 Schnittstelle ist eine Punkt zu Punkt Verbindung und ebus 
wie der Name schon sagt ein Bussystem...


> Ausschnitt der Webseite "ebus.de/spec.html"
HIGH = 1 = 15VDC... maximal 24VDC
LOW = 0 = 9 ... 12 VDC

sieht mir nicht nach RS232 Spec. an...


Wieso lädst du dir die Spec. nicht runter und versuchst dann ma das 
ganze zu verstehen und dann einen Logger zu baun?


lg psicom

von KlaRa (Gast)


Lesenswert?

Hallo Bernd,
ich weiss nicht wie das bei Wolf ist, aber bei Vaillant. Die eBus - 
Usergroup will den eBus jetzt offensichtlich populärer machen. In den 
Spezifikationen ist ja auch eigentlich alles notwendige enthalten. Man 
hat auch den Gründungsmitgliedern jeweils einen eigenen Code spendiert 
für properitäre Zwecke. Und davon macht Vaillant leider reichlich 
gebrauch. Ich habe es vorerst auf Eis gelegt, den Code irgendwie zu 
entschlüsseln, da ich mich noch auf wichtigeres konzentrieren muss. 
Irgendwann komme ich aber darauf zurück. Schade das die Firmen so 
handeln.

Gruss Klaus.

von Bernd (Gast)


Lesenswert?

Jürgens Worte:
>Wieso lädst du dir die Spec. nicht runter und versuchst dann ma das
>ganze zu verstehen und dann einen Logger zu baun?

Ich habe die Spec. vom ebus schon und mit meinen Converter kann ich mich 
mit dem PC an den ebus wie ein Bus Teilnehmer reinhängen . Da einzige 
was auf dem bus zu sehen ist das die Heizung jede stunde ein paar 
Telegramme schick in dem sie versucht Bediengeräte anzusprechen und ein 
ein Telegramm wo sie das Datum und die Aussentemp Sendet.
In der Speci sind nur allgemeine Telegramme beschrieben, auf die meisten 
spricht meine Heizung nicht an.
Es ist so wie Klaus sagt man hat auch den Gründungsmitgliedern jeweils 
einen eigenen Code spendiert.
Um aus meiner Wolf Heizung die einzelnen Messwert herauslesen zu können 
müsste ich eben einen Mitschnitt eines Datenverkehr zwischen einer Wolf 
Heizung und einen anderen Master (zb. Fernbedienung am ebus) haben um 
dann die Telegramme heraus zu suchen die ich verwenden möchte.

von Sebastian D. (sdietz)


Lesenswert?

Ich arbeite gerade an dem gleichen Problem. Ich hab eine Wolf R3 mit 
eBus Bedienmodul. Hab mir einen ATmega32 an den eBus gehängt und möchte 
automatisiert die Brennerlaufzeiten und die Starts alle 24 Stunden auf 
eine SD Card schreiben.

Zu Übungszwecken hab ich ein LCD Display angeschlossen was mir schon 
jetzt infos wie die Kesseltemperatur, Warmwasser und Aussentemperatur 
gibt. Ausserdem ob gerade Wärme im HK gebraucht wird, oder nicht.

Die Betriebszähler konnte ich noch nicht auslesen. Die Datagramme die 
laut eBUS Spec dafür verwendet werden sollten, werden bei Wolf durch 
proprietäre Nachrichten ersetzt. Selbst wenn ich alle  infos über das 
Bedienmodul Abfrage, kann ich ohne die specs der 
Primärbefehldefinitionen der Hersteller nicht entschlüsseln. Die Wolf 
Steuerung sendet übrigens viel mit Primärbefehl 0x50, was zu dem 
Hersteller Kromschöder AG gehört...

Ich hab die eBUS group mal angeschriben da die Primärbefehldefinitionen 
laut ihrer Spec auf ihrer Webseite liegen sollten, tun sie aber nicht.

Zur Zeit kann ich noch nicht auf dem eBUS senden (hatte noch keine Zeit 
ein vernünftiges Interface zu bauen...) weiss also nicht was die R3 dazu 
sagen würde wenn ich ihr z.B.: den Befehl 03 04 senden würde (Gesamt 
Anlaufzähler lesen)

Wenn jemand mehr Infos hat, nur her damit. Ich bastel gerne am eBUS ;-)

Sebastian

von Sebastian D. (sdietz)


Angehängte Dateien:

Lesenswert?

Hier mal was ich vor ein paar Tagen vom eBUS mitgeschnitten hab. Ich hab 
relativ viel Verkehr auf dem Bus.

Sebastian

von Ulrich P. (uprinz)


Lesenswert?

Hi!

Weiß noch nicht, wie das bei meiner Buderus ist, aber rein informell 
würde mich solch ein eBus Interface auch interessieren. Kannst Du da mal 
was posten? Ich denke, dass ich dann demnächst auch ein paar Protokolle 
beisteuern könnte. Zumal ich eine Remote-Unit drann hängen habe. Ein 
Datenkabel liegt auch schon in der Wand zwischen dem Kessel und dem 
Arbeitszimmer, aber da sind halt noch beide Enden lose :)

Gruß, Ulrich

von Christian Ebner (Gast)


Lesenswert?

Hallo,
Gibts schon was neues. Ich habe mir auch einen Konverter gebastelt und 
empfange auch schon massiv Telegramme. Nur finde ich nicht mal heraus 
welches Telegramm für zb. die Außentemparatur ist. Kann mir da wer Tipps 
geben.
danke
Christian

von Ulrich P. (uprinz)


Lesenswert?

Hi!

Ich habe das Projekt erst einmal auf schlechteres Wetter verschoben. 
Aber wenn Du neben den Telegrammen auch ein paar Daten mehr hast, also 
einiges, was die Bedieneinheit oder der Kessel so anzeigen ( Druck, 
Vorlauf- /Rücklauftemp., Uhrzeit, Datum u.s.w.) dann stell es doch mal 
hier rein und wir finden dann schon was.

Gruß, Ulrich

von Seb H. (seppl)


Lesenswert?

abo

von Sebastian D. (sdietz)


Lesenswert?

Ich hab mir letztes Wochenende endlich mein eBus interface fertig 
gebaut. Ist noch nicht richtig getestet, sollte aber funktionieren. 
Empfangen tut es schon. Senden muss ich noch testen.

Ich werde mir mal in nächster Zeit ein Programm schreiben was das 
Protokoll das über den Bus läuft entschlüsselt, zumindest die bekannten 
datagramme und unbekannte versucht in sinnvolle daten um zu wandeln.

Das kann aber ein wenig dauern, da im Moment andere Sachen als Heizung 
wichtiger sind.

Die Hardware ist in Anlehnung an das Referenzdesign in der eBus Doku 
aufgebaut. Mit galvanischer Trennung und RS232 Pegelwandlung. Der erste 
Versuch hatte leider zu viel Strom vom Bus gezogen und ist in die Tonne 
gewandert...

Mal sehen wann die erste Softwareversion fertig ist. Ich will eh grad 
ein wenig Perl/Tk lernen. Das wär doch ein nettes Projekt dafür. ;-)

ciao

Sebastian

von Ebc E. (ebc)


Lesenswert?

Hallo,
Also ich habe mir auch einen Schnittstellenwanndler zusammen gebaut und 
empfange Telegramme.
Meine Erkentnisse:

Außentemperatur kann aus folgenden Telegrammen genommen werden.

Tele
QQ ZZ 05h 03h       --> Byte 13
QQ ZZ 08h 00h       --> Byte 8-9 ( Datentyp DATA2b )
   -- Achtung ich bekomme 3 verschiedene 08h 00h Tele.
      ( die Zieladresse ist anders ). Je nachdem scheint die Außentemp
      die aktuelle Temp zu sein bzw der Mittelwert.

Laut Beschreibung sollte auch Telegramm 07h 00h Außentemperatur 
enthalten, bei meiner Wolf R3 kommt aber nur der Ersatzwert 8000h

Aktuelle Warmwassertemperatur ( Boilertemp )
Aus Telegramm 05h03h --> Byte 12

Aktuelle Kesseltemperatrur
Aus Telegram 05h03h --> Byte 10 ( Datentyp DATA1c -> (einfach /2 
rechenen))

Kesselsollwert:
Tele 08h 00h  -> Byte 6-7  ( Datentyp DATA2B)

Brauchwassersollwert
Teler 08 00h -> Byte 12-13 ( Datentyp DATA2B )
-----------------

Die meisten Telegramm die ich empfange sind jedoch 50h Telegramme, sind
WOLF spezifisch, also nict in der Doku der eBUS User Group.

Falls wer mehr hat bitte hier posten.

Zum Schluß meine derzeitige Umwandlung des Datentyp DATA2B zu einer 
dezimal Zahl.

 private double ConvertData2b( byte lowByte, byte highByte )
      {
         byte[] atemp = new byte[2];
         Int16 x;
         UInt16 x2;
         double y=0;
         atemp[0] = lowByte;
         atemp[1] = highByte;
         x = BitConverter.ToInt16(atemp, 0);
         if ( (x & 0x8000 ) == 0x8000 ) // y neagtiv
         {
            x2 = (UInt16)x;
            // Derzeit ist Sommer ich muss mir da was überlgegen

            //y = -(HIGH_BYTE(x2) + (LOW_BYTE(x2) + 1 / 256));
         }
         else
         {
            y = HIGH_BYTE(x) + (double)(LOW_BYTE(x)) / 256;
         }
         return y;
      }

von Sebastian D. (sdietz)


Lesenswert?

Ich kopier hier mal kurz meinen code rein der auf dem Atmel läuft.

Die  Anzeige im LCD zeigt an ob gerade Wärme im Heizkreis (grosses HK im 
display) oder nicht angefordert wird. Analog gilt das auch für 
Warmwasser (grosses und kleines WW)

Die Aussentemperatur lese ich aus der Nachrift der Steuerung aus, da 
mein Bedienmodul im Wonzimmer hängt und keinen Aussensensor 
angeschlossen hat.

Die Befehle mit 0x50 sind von der Firma Kromschröder. Da hat Wolf also 
was zugekauft. ;-)

Vielleicht kann man da ja einige infos mal bekommen. Ansonsten müssen 
wir das eben hacken ;-)

Ich poste mehr wenn ich mein Analyse tool fertig programmiert hab.

Hier mein quick & dirty Atmel code:


Sebastian
===================================================================
1
#include <stdlib.h>
2
#include "lcd.h"
3
#include "uart.h"
4
#include <avr/interrupt.h>
5
#define F_CPU 8000000L
6
7
#include <util/delay.h>
8
9
#define XTAL_CPU         8000000L    /* 8 MHz */
10
#define UART_BAUD_RATE      2400    /* 2400 baud */
11
#define UART_RX_BUFFER_SIZE   32
12
#define UART_TX_BUFFER_SIZE   32
13
14
15
enum e_message_status { IN,OUT,DOUBLE };
16
enum e_message_status message_status = OUT;
17
enum e_status { ON,OFF };
18
enum e_status brenner = OFF;
19
enum e_status wasser = OFF;
20
21
char lcd_line1[21];
22
char lcd_line2[21];
23
24
char ebus_buffer[100];    /* buffer for the received message */
25
char buffer[10];        /* for debug prints */
26
int ebus_pos;        /* index counter for the receive buffer */
27
unsigned int c;        /* received character from the uart */
28
29
/* this procedure should end in its own include */
30
/* currently it ignores the value behind the comma */
31
int eBus_data2b(char x, char y) {
32
  int temp;
33
  if ( x >= 0x80) {
34
    temp = -128;
35
  } else {
36
    temp = 0;
37
  }
38
  temp = temp + (x & 0x7f);
39
  return temp;  
40
}
41
42
int eBus_s_char(char x) {
43
  int temp;
44
  if ( x & 0x40) { 
45
    temp = -64;
46
  } else {
47
    temp = 0;
48
  }
49
  temp = temp + (x & 0x3f);
50
  return temp;  
51
}
52
53
int eBus_bcd(char x) {
54
  int temp;
55
  temp = x;
56
  temp = (((temp & 0xf0) >> 4) * 10) + (x & 0x0f);
57
  return temp;
58
}
59
60
/* this procedure should end in its own include */
61
void eBus_analyze() {
62
  switch(ebus_buffer[3]) {    /* switch over the message type */
63
64
    case 0x03:          /* Servicedatenbefehle */
65
      if ((ebus_buffer[4] == 0x04) && (ebus_buffer[5] == 0x03)) {  /* Antwort auf Zählerstandabfrage */
66
        lcd_gotoxy(17,1);
67
        lcd_puts(itoa(ebus_buffer[8],buffer,10));
68
        if (ebus_buffer[7] <= 0x09) lcd_putc('0');
69
        lcd_puts(itoa(ebus_buffer[7],buffer,10));
70
        if (ebus_buffer[6] <= 0x09) lcd_putc('0');
71
        lcd_puts(itoa(ebus_buffer[6],buffer,10));
72
      }
73
      if ((ebus_buffer[4] == 0x04) && (ebus_buffer[5] == 0x04)) {  /* Antwort auf Betriebsstunden */
74
        lcd_gotoxy(7,0);
75
        lcd_puts(itoa(ebus_buffer[9],buffer,10));
76
        if (ebus_buffer[8] <= 0x09) lcd_putc('0');
77
        lcd_puts(itoa(ebus_buffer[8],buffer,10));
78
        if (ebus_buffer[7] <= 0x09) lcd_putc('0');
79
        lcd_puts(itoa(ebus_buffer[7],buffer,10));
80
        lcd_putc(':');
81
        if (ebus_buffer[6] <= 0x09) lcd_putc('0');
82
        lcd_puts(itoa(ebus_buffer[6],buffer,10));
83
      }
84
      break;
85
86
    case 0x05:          /* Brennersteuerbefehle */
87
      if (ebus_buffer[4] == 0x03) {   /* Betriebsdaten des Feuerungsautomaten */
88
        lcd_gotoxy(0,1);
89
        if (brenner == ON) {
90
          lcd_puts("HK:");
91
        } else {
92
          lcd_puts("hk:");
93
        }
94
        lcd_puts(itoa(ebus_buffer[10]/2,buffer,10));
95
        lcd_putc(0xdf);
96
        if (wasser == ON) {
97
          lcd_puts(" WW:");
98
        } else {
99
          lcd_puts(" ww:");
100
        }
101
        lcd_puts(itoa(ebus_buffer[12],buffer,10));
102
        lcd_putc(0xdf);
103
        lcd_puts(" AT:");
104
        lcd_puts(itoa(eBus_s_char(ebus_buffer[13]),buffer,10));
105
        lcd_putc(0xdf);
106
        lcd_putc(' ');
107
      }
108
109
      if (ebus_buffer[4] == 0x07) {  /* Betriebsdaten des Reglers */
110
        if ((ebus_buffer[6] == 0xAA) || (ebus_buffer[6] == 0xbb)) {
111
          brenner = ON;
112
        } else {
113
          brenner = OFF;
114
        }
115
116
        if ((ebus_buffer[6] == 0x55) || (ebus_buffer[6] == 0xbb)) {
117
          wasser = ON;
118
        } else {
119
          wasser = OFF;
120
        }
121
122
      }
123
      break;
124
125
    case 0x07:          /* Systemdatenbefehle */
126
      if (ebus_buffer[4] == 0x00) {  /* Datum und Zeit Meldung */
127
        itoa(eBus_data2b(ebus_buffer[7],ebus_buffer[6]),buffer,10);
128
        buffer[5] = '\0';
129
130
/* der Regler übermittelt nur eine Temperatur wenn der Aussensensor am BM angeschlossen ist */
131
//        lcd_gotoxy(0,1);
132
//        lcd_puts("Aussen: ");
133
//        lcd_puts(buffer);
134
135
        lcd_gotoxy(0,0);
136
        lcd_puts(itoa(eBus_bcd(ebus_buffer[10]),buffer,10));
137
        lcd_putc(':');
138
139
        if (ebus_buffer[9] <= 0x09) lcd_putc('0');
140
        lcd_puts(itoa(eBus_bcd(ebus_buffer[9]),buffer,10));
141
        lcd_putc(' ');
142
143
//        itoa(eBus_bcd(ebus_buffer[8]),buffer,10);
144
//        buffer[2] = ' ';
145
//        buffer[3] = ' ';
146
//        buffer[4] = '\0';
147
//        lcd_puts(buffer);
148
        
149
      }
150
      break;
151
152
    case 0x08:          /* Regler - Regelbefehle */
153
      break;
154
155
    case 0x09:          /* MemoryServer Befehle */
156
      break;
157
158
    case 0x0f:          /* Testnachricht */
159
      break;
160
    
161
    case 0xfe:          /* Fehlernachricht */
162
      break;
163
  }
164
165
}
166
167
int main(void)
168
{
169
170
  void long_delay(uint16_t ms) {
171
      for(; ms>0; ms--) _delay_ms(1);
172
  }
173
174
  void clear_lcd_lines() {
175
    for (int i=0;i<20;i++) {
176
      lcd_line1[i] = ' ';
177
      lcd_line2[i] = ' ';
178
    }
179
    lcd_line1[20] = '\0';
180
    lcd_line2[20] = '\0';
181
  }
182
183
184
    uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,XTAL_CPU) ); 
185
    sei();  /* now enable interrupt, since UART library is interrupt controlled*/
186
187
188
    lcd_init(LCD_DISP_ON);  /* initialize display, cursor off */
189
    lcd_clrscr();    /* clear display and home cursor */
190
    lcd_puts("eBus monitor ready.");    /* put my name :) */
191
  long_delay(5000);
192
  lcd_clrscr();
193
194
  /* init the LCD lines */
195
  clear_lcd_lines();
196
197
  for(;;)    /* loop forever */
198
  {
199
    c = uart_getc();        /* get character from rs232 */
200
        if ( ! (c & UART_NO_DATA) )
201
        {                /* data available from UART */
202
//      uart_puts("Got some");
203
//      itoa(c,buffer,9);
204
//      buffer[9] = '\0';
205
//      lcd_puts(buffer);
206
207
      if ((c == 0xaa) && (message_status == OUT)) {
208
        message_status = IN;
209
        ebus_pos = 0;
210
      } else {
211
        if ((c == 0xaa) && (message_status == IN)) message_status = OUT;
212
      }
213
      
214
      switch(message_status) {
215
216
        case DOUBLE:
217
          c = c+0xa9;
218
        
219
        case IN:
220
          if ((c == 0xa9) && (message_status != DOUBLE)) {
221
            message_status = DOUBLE;
222
            break;
223
          }
224
          message_status = IN;
225
          ebus_buffer[ebus_pos] = c;
226
          ebus_pos++;
227
          if ( ebus_pos == 100) message_status = OUT;  /* prevent buffer overflow */
228
          break;
229
230
        case OUT:
231
          eBus_analyze();  /* do the magic eBus message analysis */
232
          break;
233
234
      }
235
    }
236
237
  }
238
}

von Ebc E. (ebc)


Lesenswert?

Hallo,
Welchen Atmel verwendest du ?
mfg
Christian

von Sebastian D. (sdietz)


Lesenswert?

Nabend,

im Moment verwende ich einen ATMega32.

Sebastian

von lumo (Gast)


Lesenswert?

Hi,

ich interessiere mich auch sehr für den E-Bus und möchte eine 
Schnittstelle dazu bauen. Kannst du mal deine Schaltung veröffentlichen 
bitte?

Weißt du wie es sich mit einer Vaillant GasTherme verhält ?

Danke

Schöne Grüsse
lumo

von Ebc E. (ebc)


Lesenswert?

Schnittstellenwandler ist in der Dokumentation des ebus enthalten.
http://www.ebus.de/reg_form/download_form.php

von David M. (vanumo)


Lesenswert?

hi,

die doku habe ich gefunden, trotzdem danke. vom hersteller wird es wohl 
nichts geben. habe auf sebastien gehofft ob er schon weiter ist.


gruß
lumo

von Sebastian D. (sdietz)


Lesenswert?

David Müller wrote:
> hi,
>
> die doku habe ich gefunden, trotzdem danke. vom hersteller wird es wohl
> nichts geben. habe auf sebastien gehofft ob er schon weiter ist.
>
>
> gruß
> lumo

Nee, leider noch nicht. Ich hab aber jetzt wieder angefangen an einem 
Programm zu schreiben welches die Analyse der e-bus protokolle 
vereinfacht. Ich hab immer noch keine ausreichende Doku über die 
proprietären Primärbefehle gefunden was die Analyse doch sehr schwer 
macht. Wolf will da nicht weiterhelfen (vermutlich weil die Geräte von 
Kromschröder stammen) und ich hab noch niemanden gefunden der sich 
ebenfalls mit der e-bus programmierung beschäftigt.

Ideal wär ein Test setup mit einem e-Bus master und ein paar Test 
clients. Hat da jemand vielleicht sowas? Eine alte e-bus Steuerung würde 
auch helfen. Ich hab immer wieder Bedenken an einer Produktivumgebung zu 
basteln.

Falls also jemand eine alte Wolf R3 oder andere e-bus Steuerung im 
Keller hat, die er nicht mehr braucht, bitte melden. Ich könnte daraus 
ein schönes test-bed bauen um die ganze e-bus Programmierung 
beschleunigen..

ciao

Sebastian

von David M. (vanumo)


Lesenswert?

Hi,

danke für die rasche Antwort. Mit einer Regelungen kann ich sonst leider 
auch nicht dienen. Mir gehts Primär darum mit einem uC eine 0-10V 
Schnittstelle zu bauen welche über den eBus mit der Therme kommunizieren 
kann. Möchte also nur das meine Regelung die Therme nach Leistungsbedarf 
ansteuert. Auslesen von anderen Werten kann später erfolgen. Sonst 
müsste ich über eine Vaillant Regelung die Hauptgruppe regeln und die 
anderen Heizkreise über die andere Regelung was einen ziemlichen Umweg 
bedeuten würde. Ich versuche mal bei Vaillant an die Daten zu kommen.

Gruß
David

von David M. (vanumo)


Lesenswert?

Hi,

ich habe heute mal die Unterlagen von EBUS gesichtet und habe da eine 
Frage. Es sind ja die UART Sequenzen des Layer7 ausgeführt? Hat sich 
hierbei soviel verändert? Es gibt z.b ein Befehl um alle unterstützten 
Befehle des Geräts auszulesen. Ist es mit diesem Befehl nicht möglich an 
die gewünschten Codes zu kommen? Oder hat sich in der Kommunikation 
soviel geändert das jeder Hersteller sein eigenes Ding macht welches ja 
die ganze Normierung über den Haufen schmeisen würde.

Gruß

David

von Sebastian D. (sdietz)


Lesenswert?

Nö, geändert hat sich da nix, aber wenn ich mir so den Verkehr auf 
meinem eBus anschaue, dann wird 75% der Steuerung durch die 
Primärbefehle 50 gemacht. Wie du im Anhang 1 zum OSI 7 Layer der Spec 
sehen kannst, ist dieser Primärbefehlt der Firma Kromschröder 
zugewiesen. Die genaue Dokumentation welche Subbefehle unter 0x50 
verwendet werden hab ich leider noch nicht gefunden.

Wenn sich natürlich die Firma Kromschröder dazu entschliessen würde die 
Spezifikation frei zu geben, könnte man da viel mehr machen. Ansonsten 
muss man durch Beobachtung und gezieltes Monitoring versuchen die 
Befehle zu entschlüsseln. Einfach dürfte das aber nicht werden...

LG
Sebastian

von Stefan W. (wswbln)


Lesenswert?

abo  (die nächste Heizungssteuerung kommt bestimmt :-) )

von axel s. (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe seit kurzem eine Wolf Brennwerttherme mit angeschlossenen ebus 
Interfacemodul ISM-1, über welches ich die Datentelegramme zwischen dem 
Wolf PC Programm Comfortsoft und dem Heizungs ebus aufzeichnen kann. Ich 
benutze dazu das Program Devicemonitor.exe, welches den Datenverkehr 
über die serielle Schnittstelle mitprotokolliert. Beim Start des 
Comfortsoft Programms werden offensichtlich alle Daten abgefragt. 
Angefügt habe ich einmal den kompletten log als Exel Datei.

Mit dem Programm Hercules.exe lassen sich im übrigen einzelne Telegramme 
in HEX zur Heizung senden. Typischerweise sieht ein Anfragetelegramm wie 
folgt aus:

0D 00 0D 01 00 0B 00 00 00 00 00 26

zurück kommt dann zB.

{55}{55}{55}{55}{55}{55}{55}{55}{9C}{08}{03}{4C}


Ich kann gerne mit weiteren Telegrammbeispielen dienen, falls noch 
Interesse besteht. Ziel ist, einzelne Daten aus der Heizung über das 
Internet abfragen zu können. Die Anbindung mit einem XPORT funktioniert 
bereits.

Viel Spass bei der Analyse

Gruss
Axel

von Alex (Gast)


Lesenswert?

Hallo,
habe eine TEM Solar-Steuerung, die auch einen eBus-Anschluss hat. Die 
würde ich natürlich gerne auslesen.
Was ich für die PC-Kopplung kenne, ist der RS232-Konverter von Dungs für 
> 200 Euronen. Eure uC hören sich günstiger an.

Könnt ihr mir bitte mal Nachhilfe erteilen, da ich noch keinen uC 
programmiert habe (aber schon alles mögliche auf Linux, PC, ... mit C++, 
Java, ...) und gerne abschätzen würde, ob sich das für mich zeitlich und 
finanziell lohnt.

- welche Teile benötige ich denn um EIN eBus-Gerät auslesen zu können?
  - eBus Netzteil?
  - eBus SYNC Generator?
  - uC
  - uC-Board
  - Entwicklungsumgebung (kostenlos?)
- in welcher Größenordnung liegt der Preis dafür?

Danke,
Alex

von Seppl (Gast)


Lesenswert?

Hi Alex,

ich habe zwar keinen Ebus, die ein oder andere Frage kann ich dir aber 
sicherlich auch beantworten.
µC bzw. Board stellt sich ja auch die frage was für einen. Es gibt da 
diverse Hersteller und Modelle, für deinen Anwendungszweck und für den 
schnellen Einstieg dürften AVR bzw. PIC Controller interessant sein.
Für AVR gibt es den GCC als freien Compiler, für den PIC gibt es auch 
einen freien C-Compiler wenn mich nicht alles täuscht.
Teuer ist das ganze auch nicht, du benötigst minimum einen µC, ein 
Experimentierboard und ein entsprechendes Programmiergerät (sofern nicht 
auf dem Board integriert). Das ganze kommt, wenn man sparsam einkauft, 
auf etwa 50-100€ - je nach dem wie viel Luxus man sich da leisten 
möchte.

Für den Ebus muss man wenn ich das richtig durchschaut habe nur einen 
Pegelwandler von Ebus nach RS232 bauen, das sollte mit relativ geringem 
Bauteilaufwand möglich sein.
Bleibt allerdings noch die gesamte Arbeit das Protokoll in einer 
Software zu implementieren. Genau dadurch dürfte das für die 
wirtschaftlich nicht mehr interessant sein. Technisch sollte das alles 
machbar sein, es gibt für Ebus die Spezifikationen zum Downloaden: 
http://www2.ebus.de/spec.html
Wenn du schon öfter Programme geschrieben hast weisst du ja wie 
aufwendig so etwas ist.

Gruß
Seppl

von ebc (Gast)


Lesenswert?

Als den Pegelwandler + Max232 für die Pegelanpassung an die PC RS232 
kommt so auf 5 - 10 €. Danach kannst du ja erstmal via PC die Protokolle 
versuchen zu entschlüsseln.
Im Anhang mal ein Schaltplan, ist aber schon länger her das ich den 
gebaut habe.
Christian

von ebc (Gast)


Angehängte Dateien:

Lesenswert?

ach ja der schaltplan

von Alex (Gast)


Lesenswert?

Danke für die schnellen Antworten!
Das hilft mir sehr gut weiter.

Gruß,
Alex

von Alex (Gast)


Lesenswert?

Ich hab' eben noch einige andere Beiträge gelesen und bin doch wieder 
unsicher geworden:
wenn ich euch richtig verstehe, benötige ich nur einen Pegelwandler nach 
obigem Schaltplan und habe dann die Signale des eBus an der seriellen 
Schnittstelle z.B. eines PCs?!
Wenn ich das nicht am PC auswerten wollte, wäre eben ein uC (AVR o.ä.) 
notwendig?!

Kein SYNC-Generator oder sonstiger Kram notwendig?

Danke,
Alex

von Ebc E. (ebc)


Lesenswert?

so is es...
aber bitte vorsicht beim eventuellen Nachbauen. Pegelwandler ist nicht 
galvanisch getrennt.

von Stephan G. (son)


Lesenswert?

hallo,
nachdem ich seit vielen Wochen an meiner Schaltung bastle, hier ein 
Hilferuf...
würde sich jemand von den Profis hier, jemand bereiterklären gegen 
Unkostenerstattung mir einen Schnittstellenwandler zusammen zu löten??

Ich hatte versucht die Schaltung mit den optokopplern zu bauen, was mir 
meiner laienhaften Meinung nach auch gelungen ist, aber ich bekomme 
keine Kommunikation hin, trotz originaler Vaillant-Software.

gruss
stephan

von WernerM (Gast)


Lesenswert?

> Autor: Ebc Ebc (ebc)
> Datum: 27.08.2008 20:46
> Schnittstellenwandler ist in der Dokumentation des ebus enthalten.
> http://www.ebus.de/reg_form/download_form.php

Eine Verständnisfrage:

Wäre es möglich mittels des o. a. Pegelwandlers die Daten aus der 
Wolf-Regelung R3 mit der Wolf-Software auszulesen? Diese Software bietet 
auch einen Export nach Excel.

WRS Fernwartungs-System:
Windows 2000 (SP4) oder XP (SP2), Vista / Bildschirmauflösung: min. 800 
x 600 Pixel

http://www.wolf-systemprofi.de/de/gkp/service/download/software.html
oder direkt nur die Software:
http://www.wolf-systemprofi.de/documents/de/software/wrs_soft


Gruß

Werner

von Seppl (Gast)


Lesenswert?

Das kommt darauf an was für eine Schnittstelle die Software benötigt. 
Wenn die mit einem einfachen Pegelwandler umgehen kann ja - man müsste 
wissen wie der original Wandler funktioniert.

von Ebc E. (ebc)


Lesenswert?

Ich werde es mal am Wochende probieren.
Vermute aber das die Software nur in Verbindung mit dem ISM1 
Schnittstellenmodul funktioniert.
Christian

von WernerM (Gast)


Lesenswert?

> Autor:  ebc (Gast)
> Datum: 13.11.2008 19:58
> Dateianhang: eBusConverter.png (4,7 KB, 74 Downloads)
> http://www.mikrocontroller.net/attachment/42350/eBusConverter.png

@ebc hat die Grundschaltung der eBUS Interest Group *1) auf RxD 
reduziert jedoch ergänzt mit einer Spannungsversorgung via eBus sowie 
mit einer Pegelaufbereitung TTL auf RS232:
TTL-Pegel: ca. 0,7 - 5V
Serielle PC-Schnittstelle RS232-Pegel: ca. max. + / - 12V

*1)
< eBUS_Stuttgart_041201_eBUS_Only_MOD.pdf >
http://www.investigacion.frc.utn.edu.ar/sensores/Aplicaciones/Divulgacion/c&s/files/eBUS_Stuttgart_041201_eBUS_Only.PDF
eBUS - Mikroprozessor- Interface ohne galvanische Trennung (LM358)
von Wolfhard Lawrenz – User Club eBUS e. V.
Direktor c& s group in der Fachhochschule Wolfenbüttel


Eine sehr feine Alternative für den MAX232 habe ich bei Julien Thomas 
gefunden:

Julien benutzt die Standardbauteile
4 x (CNY 17-1 | 4N25 | 4N36 o.ä.
1 x 74LS00
sowie Kleinkram ...

und erreicht so eine vollständige galvanische Trennung - also auch von 
GND.

Optoelektronischer Pegelwandler RS232 <-> TTL (RxD/TxD)
http://www.kielnet.net/home/julien.thomas/tech/RS232TTL.htm
© 2004/2005 Julien Thomas 12/2005, rev. 11/2007

oder sogar in Englisch:
Opto-isolated level converter RS232 to TTL (and vice-versa)
http://www.angelfire.com/theforce/jte/
http://www.angelfire.com/theforce/jte/rs232ttl_en.html
 © 2004/2005 Julien Thomas - revision: 12/2005


Gruß

Werner



Schnittstellen-Interface
Konverter
Signalkonvertierung
eBus an serielle Schnittstelle PC

von WernerM (Gast)


Lesenswert?

> Autor: Ebc Ebc (ebc)
> Datum: 20.11.2008 19:24

>... Vermute aber das die Software nur in Verbindung mit dem ISM1
> Schnittstellenmodul funktioniert.


Hallo Christian,

das Lesen der Daten wäre völlig ausreichend.

Ich habe mir die Software
http://www.wolf-systemprofi.de/de/gkp/service/download/software.html
installiert und finde u. a. diese Infos:

in ReadMe.txt :
"... Ein Dongle (...) wird bei der neuen CoCo-PC-active bzw. DCO-aktiv 
nicht mehr benötigt. Vorraussetzung hierfür ist die Verwendung eines 
CoCo-PC-active bzw. DCO-aktiv, das nach dem 18. März 2004 produziert 
wurde. ..."

Desweiteren die Datei hldrv32.exe :
Diese SW möchte verschiedene Treiber installieren - man kann aber 
abbrechen:
HARDLOCK.SYS : 3.05
HARDLOCK.VXD : 3.05
HLVDD.DLL : 2.18
AKSUSB.SYS : 1.28
AKSPCCARD.SYS : 1.01

Die Software ist übrigens von Kromschröder:
Elster GmbH
Geschäftssegment Comfort Controls
Kuhbrückenstrasse 2-4, D-31785 Hameln
Telefon +49(0)5151 9572-0
Telefax +49(0)5151 9572-100
www.comfort-controls.de
info@ kromschroeder.com
www.kromschroeder.de
www.kromschroeder.org
www.docuthek.kromschroeder.com

ComfortSoft ist die anwenderorientierte Software für Notebook und PC. 
Sie sorgt dafür, dass alle Komponenten eines Heizsystems leicht zu 
parametrieren und überwachen zu sind:
ComfortSoft3_3_4.zip (30.179 KB)
ComfortSoft3_3_3.zip (29.199 KB)
ComfortSoft3_3_2.zip (30.171 KB)
Bedienungs- und Installationsanleitung (1.085 KB)
Installation and Operating Manual (860 KB)
http://www.comfort-controls.de/downloads.php?

Ob die "ComfortSoft3_3_3.zip" mit der von Wolf bereitgestellten SW
(Vers.: 3.3.3 (Rev:536), siehe oben)
identisch ist, habe ich nicht untersucht.


PS.: ... und die Wolf-Regler sind auch von Kromschröder!


Gruß

Werner

von Ebc E. (ebc)


Lesenswert?

Als mit dem obrigen PegelWandler geht die Software nicht.
(sie ist ja nur auf Lesen RxD reduziert, und die Software sendet 
Telegramme wo dann keine Antwort kommt )
Christian

von WernerM (Gast)


Lesenswert?

Danke Christian,

möglicherweise würde die Software aber mit beiden implementierten 
Schnittstellen (also RxD + TxD) arbeiten.
Vielleicht hat ja jemand einen vollständigen Pegelwandler und macht mal 
den kleinen Test.

> Autor: axel s. (Gast)
> Datum: 02.11.2008 14:06
> Dateianhang: heizungsprotokoll.xls (66,6 KB, 52 Downloads)

> Ich habe seit kurzem eine Wolf Brennwerttherme mit angeschlossenen ebus
> Interfacemodul ISM-1, über welches ich die Datentelegramme zwischen dem
> Wolf PC Programm Comfortsoft und dem Heizungs ebus aufzeichnen kann. Ich
> benutze dazu das Program Devicemonitor.exe, welches den Datenverkehr
> über die serielle Schnittstelle mitprotokolliert. Beim Start des
> Comfortsoft Programms werden offensichtlich alle Daten abgefragt.


Gruß

Werner

von Ebc E. (ebc)


Lesenswert?

Hallo,
hab wieder etwas Zeit und hab versucht die ominösen 50er Telegramme von 
Wolf zu entschlüsseln. Hier ein paar Ergebnisse:

Kurze Info zu meiner Heizung: Ist ein Ölbrennwertkessel mit 3 
Mischerkreise

Systembefehl  PB = 0x50h
              SB = 0x14h
Aus diesem Telegramm konnte ich entschlüßeln:
--Aktuelle Vorlauftemperatur Mischerkreis
--Soll Vorlaufteperatur Mischerkreis

1
#F0#52#50#14#07#07#00#30#80#11#00#6A#ED#00#09#00#01#CD#2D#00#80#14#8C#00#D1#00 06.12.2008 17:38:53

Byte 7+8 --> Soll Vorlauftemperatur Mischerkreis

Byte  17+18 --> Ist Temperatur Mischerkreis

BSP:
Soll Vorlauftemp: 48,5°
Byte7 = #30  --> 48
Byte8 = #80  --> 128 --> 128/255 -->  0,501

Ist Vorlauftemp: 45,8°
Byte17 = #CD --> 205 --> 205/255 --> 0,8039
Byte18 = #2D --> 45

Diese zwei Temperaturen sind im Fomrat DATA2B übermittelt.
Laut Definition enthält das LowByte die Nachkommastellen.
Das würde für die IstVorlauftemp auch stimmen, jedoch nicht für die 
SollVorlauftemp ?

Byte 9 ist vermutlich die aktuelle Raumtemperatur.
1
#F0#52#50#14#07#03#00#30#80#11#00#6A#2F#00#09#00#01#E6#2D#00#80#14#8C#00#2E#00

In diesem Bsp. war die Raumtemp 17,7°
Byte 9 =  #11 --> 17
Die Kommastelle konnt ich noch nicht finden.

von Vorname N. (mhz)


Lesenswert?

abo

von ebc (Gast)


Angehängte Dateien:

Lesenswert?

ebus Daten auf SD Karte loggen

von Walter (Gast)


Lesenswert?

Hallo,

ist das bei der Buderus ein Mono oder Stereo Klinkenstecker ? Wenn ich 
den Mono kurz einstecke wird eine neue Verbindung zur EMS aufgebaut ...


Grüße.

von Interesse (Gast)


Lesenswert?

Hallo,

Ich habe einen Vaillantheizkessel, Solaranlage und auromatic 620 
Steuerung, läuft ja auch alles über eBus.

Vielleicht klappt das Auslesen ja auch mit der Software von RESOL.de, 
die nennen die Schnittstelle Vbus, scheint aber das Gleiche zu sein.

Würde mich sehr interessieren, wenn sowas klappt.

Liebe Grüße

Hauke

von ebc (Gast)


Lesenswert?

Nein VBUS ist nicht das gleiche.
Braucht man sich nur die Unterlagen zum VBUS anschauen. Die gibts hier 
in einem anderen Thread

von hobe (Gast)


Lesenswert?

Da www.ebus.de nicht mehr erreichbar ist und ich die Daten meiner 
Wolf-Solaranlage auswerten möchte würde ich noch mehr Infos zum 
Datenaufbau benötigen.

Ich habe bereits einen Konverter und kann über RS232 bereits die Daten 
loggen. Ganz ohne Dokumentation ist die Auswertung aber schon sehr 
mühsam.

Kann mir bitte jemand weiterhelfen?

lg
Bernhard

von ebc (Gast)


Angehängte Dateien:

Lesenswert?

ja nachdem die seite nicht mehr existiert...

von hobe (Gast)


Lesenswert?

vielen Dank!

Da hab ich ja ein Weilchen zu tun :)

Hat schon jemand einige Wolf- (Kromschröder-) spezifische Pakete 
(Kennung 0x50) entschlüsseln können?

lg
Bernhard

von ebc (Gast)


Lesenswert?

ja siehe oben, ist zwar ein wenig durcheinander..

von THO (Gast)


Lesenswert?

Hallo,
ich fasse mal zusammen was oben steht und was ich bisher erkannt habe:

05 -> Brenner Steuerbefehl, 07 -> Betriebsdaten des Feuerungsautomaten
F1 FE 05 03 08 01 00 00 FF 30 FF 3B 10 36
                           ^ Kessel * 2!
                                 ^ Warmwasser!
                                    ^ Aussentemperatur!!

05 -> Brenner Steuerbefehl, 07 -> Betriebsart Regler
10 03 05 07 09 55 05 50 00 00 80 FF 5A FF B5 AA
               ^ AA = Brenner on, 55 = Wasser on, BB = Brenner + Wasser 
on
                  ^ Zählt immer 1,3,5

07 -> Systemdatenbefehle, 00 -> Datum Uhrzeit
30 FE 07 00 09 00 80 10 20 14 FF FF 05 FF 43
               ^  ^  Aussentemperatur wenn Fühler am BM
                        ^  ^ Uhrzeit (BCD) (MM HH)!!
                                    ^ Wochentag (1=Montag)

BM -> MM
70 51 50 14 07 41 00 05 00 17 00 5A 0D 00 09 00 40 80 16 00 D8 14 64 00 
4B 00 AA
Anfrage mit Antwort                 ^ Checksumme
                     ^  ^ Soll Vorlauf Mischerkreis
                           ^ Raumtemp
                                                   ^  ^ 
Mischerkreistemperatur (LLHH)

SM -> alle
71 FE 50 17 10 00 01 FA 01 FB 02 00 80 00 80 00 80 00 80 00 80 D9
               ^  01 = Solarpumpe läuft ?
                  ^
                     ^  ^  Kollektortemperatur * 16 (LLHH)
                           ^  ^ WW Solar Temperatur * 16 (LLHH)

SM -> alle
71 FE 50 18 0E 00 00 1B 00 0A 00 B0 01 4F 01 00 00 00 00 3F
                           ^ Ertrag Tag?
                                       ^ Summe Ertrag?

10 03 08 00 08 00 05 00 12 80 41 00 2D CF AA
                        ^ Aussentemperatur


F1 FE 08 00 08 00 05 CD 0E 00 40 00 2D DF
                  ^  Kessel Solltemperatur
                     ^  ^  Aussentemperatur Mittel (LLHH)!!
                                 ^  ^ Brauch Wasser Solltemperatur

Hat jemand von euch neue Erkenntnisse?

Ich übrigens das Problem, dass Sync (0xAA) nicht immer erkannt wird, 
muss da wohl noch mal mit dem Oszi ran.

von THO (Gast)


Lesenswert?

So hier noch ein Update:

05 -> Brenner Steuerbefehl, 07 -> Betriebsart Regler
BM an Brenner
10 03 05 07 09 00 05 50 00 00 80 FF 14 FF CD
               ^ Freigabe: AA = Brenner on, 55 = Wasser on, BB = Brenner 
+ Wasser on, 00 = off
                  ^ Zählt immer 1,3,5 unklar
                     ^  ^ Soll Kessel (LLHH) * 16
                                    ^ Warmwasser Soll * 2

05 -> Brenner Steuerbefehl, 03 -> Betriebsdaten des Feuerungsautomaten
Brenner an Alle (Antwort  auf vorhergehende Nachricht)
F1 FE 05 03 08 01 04 30 FF 74 FF 28 10 39
               ^ Bei mir immer 1
                  ^  ^ Status1 noch unklar (1.Byte 00=Off, 01=Heizen, 
04=Warmwasser; 2.Byte 00=Off, 30=Brenner an)
                           ^ Kessel * 2
                                 ^ Warmwasser
                                    ^ Aussentemperatur


BM an Brenner
10 03 08 00 08 00 05 00 10 80 41 00 36 51
               ^  ^   Kessel Solltemperatur (NNVV)
                        ^ Aussentemperatur
                              ^ Status2 noch unklar
                                 ^  ^ Warmwasser Solltemperatur (NNVV)

Brenner an alle (Antwort auf vorhergehende Nachricht)
F1 FE 08 00 08 00 3C 66 0E 00 A0 00 37 6F
               ^  ^  Kessel Solltemperatur (NNVV)
                     ^  ^  Aussentemperatur Mittel (NNVV)
                              ^ Status3 noch unklar
                                 ^  ^ Warmwasser Solltemperatur (NNVV)

07 -> Systemdatenbefehle, 00 -> Datum Uhrzeit
30 FE 07 00 09 00 80 10 20 14 FF FF 05 FF 43
               ^  ^  Aussentemperatur wenn Fühler am BM
                     ^  Bei mir immer 10
                        ^  ^ Uhrzeit (BCD) (MM HH)!!
                                    ^ Wochentag (1=Montag)

Alle Nachrichten mit 50 23 sind mir unklar:
71 30 50 23 09 48 F4 02 04 04 5D 01 00 00 13 00 AA

BM an MM
70 51 50 14 07 41 00 05 00 1A 00 5A F3 00 09 00 42 80 23 00 D8 14 64 00 
54
          ^ Status2      ^ unklar (00/08)  ^ Status4 noch unklar
                     ^  ^ Soll Vorlauf Mischerkreis (NNVV!!)
                           ^ Raumtemp
                                 ^ Soll Warmwasser * 2
                                    ^  ^  ^ Checksumme ACK 9 Byte
                                                   ^  ^ 
Mischerkreistemperatur (NNVV)
                                                            ^  ^  ^ Bei 
mir immer D8 14 64

BM liest Parameter von MM
70 51 50 22 03 6A 21 0A 93 00 02 04 00 ED 00
                                 ^  ^  4 ?
70 51 50 22 03 42 C7 02 8D 00 02 EE 02 FC 00
                                 ^  ^  75 ?
70 51 50 22 03 14 2D 00 C9 00 02 64 00 41 00
                                 ^  ^  10 ?

BM liest Parameter von SM
07 76 50 22 03 CE F7 02 58 00 02 00 00 2C 00
                                 ^  ^  Solar Antilegionellen (0=nicht) 
erfolgreich
30 76 50 22 03 57 44 03 AA 00 02 08 00 35 00
               ^  ^  ^  Parameter Adresse?
                        ^  ^  ^ Checksumme ACK 2 Byte
         ^  ^  8 ?

BM an alle
70 FE 07 04 0A 50 01 14 00 10 40 02 08 FF FF 01
70 FE 07 04 0A 50 01 18 00 00 C0 02 04 FF FF C1
Beide in Folge unverändert

SM an alle
71 FE 50 17 10 01 01 1A 04 B3 03 00 80 00 80 00 80 00 80 00 80 55 l7
               ^  Solarpumpe 01=an 00=aus
                  ^  bisher immer 1
                     ^  ^  Kollektortemperatur * 16 (LLHH)
                           ^  ^ WW Solar Temperatur * 16 (LLHH)
                                 ^ ab hier ist noch Platz für den 2. 
Kollektor

SM an alle
71 FE 50 18 0E 20 00 7D 01 00 00 C6 02 70 01 00 00 00 00 8A
               ^  ^  Solare Leistung * 16 (LLHH)
                     ^  ^  ^  ^  Ertrag Tag (LLHH) Nachkomma (/ 1000); 
(LLHH) Vorkomma
                                 ^  ^  ^  ^ Summe Ertrag (LLHH) 
Nachkomma (/ 1000); (LLHH) Vorkomma
                                            sicher sind noch mehr 
Stellen reserviert


Messages bei Abfrage der Werte durch BM:
07 76 50 22 03 89 7C 09 CF 00 02 A0 01 42 00
                                 ^  ^  WW Solar 24H Max * 10
07 76 50 22 03 41 7B 09 7D 00 02 5F 01 39 00
                                 ^  ^  WW Solar 24H Min * 10
07 76 50 22 03 A5 78 09 8B 00 02 27 02 BD 00
                                 ^  ^  Kollektor 24H Max * 10
07 76 50 22 03 35 77 09 B1 00 02 75 00 E8 00
                                 ^  ^  Kollektor 24H Min * 10
07 76 50 22 03 BA FB 02 94 00 02 60 01 81 00
                                 ^  ^  Rücklauf 24H Max * 10
07 76 50 22 03 BA FB 02 94 00 02 44 01 24 00
                                 ^  ^  Rücklauf 24H Min * 10
07 76 50 22 03 5E F8 02 62 00 02 00 00 2C 00
                                 ^  ^  Durchfluss Solar (hier 0)
07 76 50 22 03 02 F9 02 30 00 02 93 00 23 00
                                 ^  ^  Betriebsstunden Solar (LLHH)
07 76 50 22 03 3B D0 03 E7 00 02 00 00 2C 00
                                 ^  ^  Solar Warmwasserladung 
erfolgreich
07 76 50 22 03 CE F7 02 58 00 02 00 00 2C 00
                                 ^  ^  Solar Antilegionellen erfolgreich
07 51 50 22 03 90 0F 00 11 00 02 F4 00 78 00
                                 ^  ^  Mischertemperatur * 10
07 08 50 22 03 61 76 01 5D 00
^ Status HG (keine Antwort)
07 08 50 22 03 DE 2A 02 17 00
^ Betriebsstunden Brenner (keine Antwort)
07 08 50 22 03 AA 26 02 94 00
07 08 50 22 03 F6 27 02 89 00
^ Brenner Starts (keine Antwort)

Es fehlen mir folgende Messwerte:
MM  -> Solarspeicherfühler
MM  -> Rücklauftemperatur
SM2 -> Rücklauftemperatur
HG  -> Rücklauftemperatur

Geräte:
03 ?Brenner Control
08 Brenner
10 ?Brenner / Heating Control
30 BM
51 MM
70 BM
71 SM2
76 SM2
F1 Brenner
FE alle

Command
03 Servicedatenbefehle
05 Brennerkontrolle
07 System instruction
08 Control instruction Regler - Regelbefehle
09 MemoryServer Befehle
0F Testnachricht
FE Fehlernachricht

von ebc (Gast)


Lesenswert?

super,
ja wenn ich wieder mal Lust hätte würde ich selber wieder loggen.
Frage hast du dir eigentlich einen einfachen Konverter gebaut nur 
empfangen, oder den vollständigen senden und empfangen ?

von Tho (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe einen uC (PIC18F452) benutzt. Der hat nur eine serielle 
Schnittstelle. Die Txd geht immer zum PC Rxd kann ich auf EBus oder PC 
Schalten. In zwischen kann der uC in festen Zeitabständen ausgewählte 
Daten auch abspeichern und später an den PC weiter geben. Damit lassen 
sich dann Kurven wie im Anhang erstellen.

von ebc (Gast)


Angehängte Dateien:

Lesenswert?

Ja ich habe mir vor einem Jahr mit einem Atmega8 was gebaut. Atmega8 
loggt Daten auf SD Card, diese können dann in einem Programm eingelesen 
werden und werden in einer DB gespeichert.

von Tobi (Gast)


Lesenswert?

Hallo ebc.
hast Du noch genauere Infos/Pläne? Wäre ja schon sehr interessant.

Danke

von Werner F. (wfink)


Lesenswert?

Hallo,

gibt es vielleicht schon irgendwelche Anwendungen?  Mir schwebt
ein simples Gateway vor, um die Tages- und Absenktemperatur
meiner Wolf CGB-11 Heizung in der Regelklemmleiste des
Heizkreisverteilers der Fußbodenheizung oder in deren
Raumthermostate auszuwerten.

   Werner

von hobe (Gast)


Lesenswert?

Nach einigen Nächten mit wenig Schlaf habe ich nun meinen 
"eBus-Connector" fertig.

Dabei handelt es sich um eine Software für Windows, welche die 
eBus-Daten von der seriellen Schnittstelle oder aus einer Datei liest 
und in eine Datenbank (im einfachsten Fall eine Access-MDB) schreibt.

Die Anbindung der Datenbank erfolgt über ODBC oder OLEDB, die 
Konfiguration der eBus-Daten sowie der SQL-Befehle erfolgt über ein 
INI-File.

z.B.:
; Wolf/Kromschröder-spezifisch
; Primärbefehl 50, Sekundärbefehl 17
[5017]
; Definition des Aufbaus der Servicedaten
ServiceDef = SolarPumpe=char | unknown1=char | KollektorTemp=data2c | 
WWSolarTemp=data2c
; Datenbankbefehl (hier für Access)
Sql=INSERT INTO Solar ( Pumpe, KollektorTemp, WWSolarTemp, Timst ) 
VALUES( %SolarPumpe%, %KollektorTemp%, %WWSolarTemp%, NOW() )
; nur mindestens einmal pro Stunde schreiben
MinInterval=1 h
; nur schreiben, wenn sich etwas geändert hat
CheckChanges=1

Es werden alle primären und sekundären Datentypen unterstützt und es 
können mehrere Segmente definiert werden (wie für 0503 nötig).

Ich verwende bei mir eine Access-Datei obwohl ich kein Access 
installiert habe und verknüpfe OpenOffice-Base mit dieser Datei. So kann 
ich meine Daten auswerten.

Durch reine Konfiguration läßt sich das Programm erweitern und anpassen. 
Bei mir läuft das ganze auf einem Fit-PC2 (http://www.fit-pc.com) wobei 
der Prozessor zwischen 0 und max.2% belastet ist.

Vielen Dank an ebc für die Unterlagen und tho für die 
Wolf-Servicebefehle.

Ich stelle das Programm gerne zur Verfügung. Bei Interesse bitte mail an 
bernhard_h at yahoo dot com

lg
Bernhard

von Andreas Jung (Gast)


Lesenswert?

Hallo EBC,

ich währe ebenfalls an Deiner Entwicklung Interessiert, um unsere neue 
Heizungsanlage mal kontrollieren zu können.

Vielen Dank für Deine Rückmeldung im Voraus!

Gruß,
Andreas

von hobe (Gast)


Lesenswert?

Ich bitte euch alle um Unterstützung des eBus-Wiki mit eurem Wissen.

http://ebus.webhop.org

Dort ist die Doku zum eBus zusammengetragen und der eBus-Connector kann 
heruntergeladen werden. Mit diesem Programm können sehr einfach 
eBus-Daten geloggt werden. Auch ein Programm für die grafische 
Darstellung der geloggten Daten ist dort zu finden.

Ich hoffe auf ganz viel Unterstützung was die Entschlüsselung der 
herstellerspezifischen Servicedaten betrifft.

lg
Bernhard

von Dirk (Gast)


Lesenswert?

Hallo zusammen,

kurze Frage zu dem Pegelwandler aus dem eBusLoggerV2.pdf von oben: was 
ist denn VDD für eine Spannung bzw. wie hoch muss die sein?

Gruß & Danke für ne kurze Antwort,
Dirk

von Dirk (Gast)


Lesenswert?

Nochmal ich: :-)
lieg ich richtig in der Annahme, dass da eine Spannung von 5V anliegen 
muss/soll? Ich bin jetzt kurz vor dem Zusammenbau der Teile, wenn mir 
jemand bitte meine Vermutung bestätigen kann...?

Danke und schönes WE,
Dirk

von Tho (Gast)


Lesenswert?

Hallo Dirk,
Vdd findest du links unten im E-Bus Interface wieder.
Es ist eine Spannung die aus em E-Bus erzeugt wird. Dort steht auch, 
dass sie 24V hat.

Gruss Thomas

von Dirk (Gast)


Lesenswert?

Hallo Tho,

ja, hab´s mittlerweile auch gefunden. Hätt gleich mal in die Doku 
reinschauen sollen. Danke Dir trotzdem!

von Harry D. (harry40)


Lesenswert?

Moin,

ich möchte meine Regelung (Kromschröder) Elfatherm E8.0234 mittels Can
Bus und dem Programm ComfortSoft auslesen und die Parameter ändern. Die
Schnittstelle "CoCo PC active" ist mir aber zu teuer. Meine Frage: mit
welchem Schnittstellenwandler (Fertiggerät) ist das sonst noch machbar.
Wäre das mit einem Wandler der Fa. Elektor.de "Yes - we can" möglich?
Oder kann ich über den eBus (mit einem Fertiggerät) gehen?

Gruß aus dem Norden -9°C

von Dirk (Gast)


Lesenswert?

Guten Abend zusammen,

irgendwie funktioniert mein Adapter nicht korrekt. Die VDD, die ich nach 
R10 abgreifen kann, liegt nur bei 1V. Auch der Ausgang von eBusTX hat 
gegen Masse 0V, obwohl auf dem eBus+ 22V anliegen. Kann mir bitte jemand 
nen Tipp geben, wo ich den Fehler suchen kann? Liegt´s an dem LM358? 
Kann der einen Macken haben? Die Widerstände passen alle, ebenso die 
Dioden. Den R16 hab ich weggelassen, aber der soll ja auch nur optional 
sein... Und außer Dioden, Widerständen und dem IC gibt´s ja keine 
Bauteile :-(

Danke schon mal im Vorraus!

Gruß
Dirk

von ebc (Gast)


Lesenswert?

Hallo ich würde es mal so angehen.

1.) Messen von VDD.
Die Rechteckspannung vom eBus wird ja mittels Kondensator C5 220µF ( 
oder höher ) geglättet. Die 4 Dioden davor dienen als 
Brückengleichrichter ( daher verpolungsicher )
Der Vorwiderstand 100 Ohm dient zur Strombegrenzung ( kann auch höher 
sein ).

VDD sollte daher > 20V sein.

2.) Der Spannungsteiler R10 / R11 dient zur Einstellung der 
Schwellenspannung. Laut eBus Spezifikation ist LOW 9-12V und HIGH 15-24 
V

Angenommen du hast ein VDD von 22V.
vereinfacht Spannungsteiler :
U2 = U / (R10+R11)* R11
U2= 22 / (100+130) * 130 = 12,43
--> ist in diesem toten Bereich von 12V - 15 V  daher okay.
Das ist die rechnerische Lösung.
Am besten du misst was bei Schaltung bei R11 anliegt.

3. Falls das nichts hilft, folgendermaßen vorgehen. Am besten mit zwei 
Netzgeräten oder halt zwei Spannungen arbeiten. Leg mal 24 V bei der 
Versorgung beim LM358 und bei VDD an.
Leg dann an eBus+ eine Spannung von ~ 9V an ->welche Spannung ist am 
Ausgang des LM358
Leg dann an eBus+ eine Spannung von ~ 15V-24V an, welche Spannung ist am 
Ausgang des LM358.


Übrigens den Pull Down Widerstand habe ich in Verbindung mit dem LM358 
bei mir gebraucht, weil ( vermute wegen den C ) bei mir bei R12 wenn 
einmal eBUS High anlag , immer eBUS High bei R12 anlag. Der Pull Down 
behob das.

mfg
ebc

von Dirk (Gast)


Lesenswert?

Hallo ebc,

erst einmal vielen Dank für deine schnelle Antwort.
Nun aber eine Frage: die Spannungsversorgung (alles nach R10) hab ich 
auf meiner Platine gar nicht aufgebaut, da ich die 5V für den Max232 
extern beziehe. Soll heißen, bei mir hört es nach R10 auf.
Ich hab den Widerstand dann direkt auf Vcc vom LM358 gelegt.
Kann es sein, dass es daran liegt?

Gruß & Danke,
Dirk

von Dirk (Gast)


Lesenswert?

Nochmal ich:
um den Ganzen vorweg zu greifen, werd ich heute abend mal die Schaltung 
erweitern. Allerdings ohne 7805, d.h. es kommen eine Diode (1N4148), der 
Kondensator C5 (220µF) und der Vorwiderstand (100Ohm) dazu.
Dann teste ich nochmal und geb Bescheid.

Ich hatte im Studium zwar E-Technik, aber meine Stärke war das nie... 
:-)

Gruß
Dirk

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Sie sähe es dann aus.

von ebc (Gast)


Lesenswert?

>Nun aber eine Frage: die Spannungsversorgung (alles nach R10) hab ich
auf meiner Platine gar nicht aufgebaut, da ich die 5V für den Max232
extern beziehe. Soll heißen, bei mir hört es nach R10 auf.<

Mhh da komme ich jetzt nicht ganz mit, aber wenn du mal die Schaltung so 
wie unten aufbaust sollte es schon klappen.

Ich würde die Schaltung mal testen ohne das du sie an den eBus anhängts.

Netzgerät 1: ( oder irgendeine Spannugsquelle )
Einfach Diode D2 weglassen und hier 24V reingeben.
Masse auf eBus-

Netzgerät 2:
Bei eBus+ eine variable Spannung zwischen 9V und +23 anlegen ( bitte 
nicht viel höher als die 24V bei D2 ansonst könnte LM358 kaputt gehen ).
Bei eBus- wieder Masse.

Am Ausgang sollte jetzt entweder 5V ( 4,7V) oder 0 V liegen.

Bin auch nicht der Elektronikprofie, bin mehr der Probierer...

von Dirk (Gast)


Lesenswert?

Also:
- die Schwellenspannung passt nun, liegt bei 12,8V. Hab hierzu den 
Spannungsteiler anpassen müssen.
- Auf VDD liegen bei mir 19V, geht nun auch in den LM358 rein
- Am Ausgang vom LM358 (Pin1) kommen 16V an, nach dem Widerstand R14 
(10K) sind das nur noch 0,6V. Was muss/sollte denn am Ausgang zum Max232 
anliegen?

Vielen Dank ebc für die bisherige Hilfe, das hat mir schon sehr 
weitergeholfen. Das Testen vom LM358 probier ich noch, muss nur die 
passenden Spannungen "finden". :-)

Gruß
Dirk

von ebc (Gast)


Lesenswert?

Zum Max232 0 oder 5 V galube ich...

Was leigt den an ebus+ an wenn 16V rauskommt ?

von Dirk (Gast)


Lesenswert?

Vom Solarregler kommen 19,5V (konstante Spannung). Sollte also noch im 
richtigen Bereich liegen, oder?

von Ebc E. (ebc)


Lesenswert?

Ja ist niedrig aber geht ... du hast ja den Spannungsteiler angepasst.

Also testest du die Schaltung jetzt direkt am eBus ?
Den ich bin mir jetzt nicht sicher ob du da was misst am Ausgang ( mit 
einem Multimeter ).
Ich weiß leider nicht auswendig was am Ausgang kommen muss wenn eBUS LOW 
anliegt und wenn HIGH anliegt.

Wenn an der Eingangspannung (eBus+) LOW 9-12V liegt muss am Ausgang 0 
oder 5 V liegen

Wenn an der Eingangspannung (eBus+) HIGH liegt muss am Ausgang 0 oder 5 
V liegen.

Am besten ist eben testen mit zwei Netzgeräten

von Ebc E. (ebc)


Lesenswert?

ach ja konstante spannung kann nicht kommen. Muss ein rechteck sein ist 
ja ein Datenstrom der aus LOW und HIGH besteht

von Dirk (Gast)


Lesenswert?

Hmm, also wenn ich 12V drauf gebe, liegen am Ausgang vom LM358 9,5V an. 
Es ist doch richtig, dass die Spannung IC2P die Versorgungsspannung des 
LM358 ist (Pin8)? Liegt in meinem Fall (mit den 12V über Netzteil) bei 
10,8V. Im Netz hab ich nun gelesen, dass die bei ca. 6,5V liegen sollte, 
damit am Ausgang ein Pegel von 5V anliegt...?

von Ebc E. (ebc)


Lesenswert?

Versorgungspannung (LM358) sollte 24 V (19V ) sein.

Die Referenzspannung hast du ja auf 12,.. V eingestellt.

Bei eBus+ Klemme kann  9V - 24V(19V) reinkommen.

Direkt am Ausgang des OP wirst du nicht +5V messen, sondern was höheres, 
die Z Diode 4,7V ist dann dazu da dass wenn eine Spannung > 4,7 V 
vorhanden ist, diese auf 4,7V zu begrenzen.

Daher Versorgungspannung LM358 auf mindestens maximale Spannung die im 
System vorkommt. ( = 24 V ).
Bei Spannungsteiler --> am - Eingang des OP sollte die Referenzspannung 
zwischen 12V-15V liegen.
Am Eingang eBus+ sollte die Spannung von +9V -> 24V liegen.

von Dirk (Gast)


Lesenswert?

Jetzt muss ich nochmal grundsätzlich fragen:

wenn ich ein externes Netzteil mit 24V einsetze, wo klemm ich das an?
- nach dem 100K Widerstand vom Spannungsteiler (Vdd), welcher dann als 
Eingang- in den OP reingeht?
und
- an Vcc vom OP?

Im offiziellen PDF sind Gnd und Vcc vom OP über einen Kondensator 
verbunden. Brauch ich den, und wenn ja, wie hoch soll der sein? 0.1/50 
sagt mir nichts...

Danke schon wieder im Vorraus! :-)

Gruß
Dirk

von Zawo (Gast)


Lesenswert?

Hi,

die Spannung kannst du direkt an den 1000µF anschließen.
Das bezieht sich auf das von dir gepostete Bild.

0.1/50 sind IMHO 100nF/50V bzw. 0,1µF/50V

von Dirk (Gast)


Lesenswert?

Guten Morgen zusammen,

ich hab gestern mal ein Oszi an eBus+ und eBus- angeschlossen - und 
krieg nur eine konstante Spannung von 22,6V. Wie ebc sagte, müsste ich 
doch das Rechteck sehen, oder? Muss der Bus erst irgendwie aktiviert 
werden oder was kann dafür die Ursache sein?

Für Tipps dankbar,

Gruß
Dirk :-)

von Ebc E. (ebc)


Lesenswert?

Was ist den das eigentlich an was du anschließt ? Heizung ? Solar ?
Wenn möglich genaue Typenbezeichnung

von Thilo M. (Gast)


Lesenswert?

Bedenke, dass beim Oszi normalerweise GND mit dem Schutzleiter verbunden 
ist. Nicht dass du dir Messfehler einfängst. ;)

von Dirk (Gast)


Lesenswert?

Das mit direktem Anschluss an Erde kann ich nochmal probieren, Danke für 
den Tipp.
Anschließen will ich eine Vaillant auromatic 560. Ist ein Solarregler. 
Im Netz hab ich schon Beiträge von Leuten gefunden, die den Regler 
erfolgreich auslesen können, also muss/sollte es ja funktionieren.

von KlaRa (Gast)


Lesenswert?

Hallo Dirk,
Vaillant nutzt fast ausschliesslich seinen hauseigenen Code. Wenn es da 
Infos gibt wäre ich sehr interessiert.
Gruss Klaus.

von Dirk (Gast)


Lesenswert?

Ja, wenn ich nur draufkommen würde... :-(

von Dirk (Gast)


Lesenswert?

Hab mich heute mal mit einem Arbeitskollegen unterhalten. Der hat auch 
gemeint, was mir schon länger im Kopf rumschwirrt: ich habe glaub ein 
Masse-Problem. Auffällig war nämlich auch, dass wenn ich zum Testen den 
Pegelwandler angeschlossen hab, ein Temperatursensor gesponnen hat 
(toggelnde Temperatur). Und immer nur dann, wenn der Sensor Kontakt zu 
der Messinghülse hat, in der er im Pufferspeicher steckt.
Ebenfalls auffällig: früher wollte ich die Spannung der 
Temperatursensor-Eingänge über die ADC-Eingänge eines AVR-NET-IO 
abgreifen. Hier kam es dann ebenfalls zu einer Störungsanzeige im Regler 
der Sensoren.
Kann es sein, dass ich kein Recheck sehe, weil der Regler kein 
"Referenz"-Potential hat?

von Ebc E. (ebc)


Lesenswert?

@KlaRa
Infos zu Valliant Telegramme gibts hier
Beitrag "eBus CRC Berechnung nachvollziehen"

@Dirk
Also wenn du ein Oszi hast, dann solltest du auch ein Rechtecksignal am 
eBus sehen.
Wenn nicht dann:
1:) Vielleicht muss man eBus aktivieren bei Valliant, galube aber eher 
nicht

2.) Du mißt falsch.
    Ansonst mach mal ein Foto von deiner Oszi Einstellung und deinen 
Prüfaufbau

von KlaRa (Gast)


Lesenswert?

Hallo EBC,
Datei gefunden. Es dauerte nur etwas die GTAR-Datei zu öffnen. Ging 
letztlich mit WINRAR.
Gruss Klaus.

von Dirk (Gast)


Lesenswert?

Hallo ebc,

Testaufbau war wie oben beschrieben. Plus und GND direkt an eBus+/-. 
Zeitbereich des Oszi hab ich von 10ms bis 1s variiert, Auflösung war 
10V. Auch bei Auto-Einstellung war kein Rechteck zu sehen. Kann das Oszi 
aber nochmal von der Arbeit mitnehmen und Fotos machen.
Hab am WE mal die ganzen Masseverbindungen gemessen, da find ich keinen 
Fehler. Solarregler kriegt Strom von der Steuerung der Wärmepumpe. Dort 
ist die Masse sauber verdrahtet. Auffallend find ich trotzdem die 
Geschichte mit dem Temperatursensor.

von ebc (Gast)


Lesenswert?

Kopplung eh auf DC und am Messkopf vom Oszi eh nicht auf x10 eingestellt 
?.
Zeitbereich durchspielen

leider habe ich kein Oszi mehr zu Hand, dann könnte ich es dir genauer 
sagen.

Aber grundsätzlich muss ein Rechteck kommen ansonst ist etwas anderes im 
Argen.

von Wolfgang (Gast)


Lesenswert?

Hallo

ich habe mir die ISM1 von Wolf mit Original software gekauft.
Wenn ich euch irgendwie aushelfen kann, lasst es mich wissen!

MfG
Wolfgang

von ChrisEngel (Gast)


Lesenswert?

Hallo Zusammen,

Ich Lese hier schon eine weile mit und möchte über kurz oder lang meinen 
Weißhaupt Solarregler WrSol 2.0 auch über den Ebus Auslesen.
Hat jemand schon mal was mit Weißhaupt gemacht?

@ Dirk:

hast du eine Bus-Versorgung? Also Ich habe mal was gelesen das Irgendwo 
die Spannung Bereitgespellt werden muss und manche "Slaves" auch darüber 
gespeißt werden. Vielleicht hilft dir das weiter.

MfG Christian

von Dirk (Gast)


Lesenswert?

Hallo Christian,

die Frage ist dann nur: wie finde ich das raus? :-)
Einen Pegel sehe ich ja, nur eben kein Rechteck...

von Tony G. (tonyg)


Lesenswert?

ChrisEngel schrieb:
> Hat jemand schon mal was mit Weißhaupt gemacht?

Hallo Chris! Ja ich habe ebfalls ein Projekt mit dem WRSOL 2.0
Regler den ich auslesen. Das Problem hier ist das der WRSOL
über den Service 0x09 0x02 (RAM Auslesen) angesprochen werden muss, um
an den Daten ran zu kommen, es sei denn du hast noch einen anderen 
Regler am Ebus der die Daten aus der WRSol 2 anfordert! Die WRSol hat 
die Slaveadresse FC und Masteradresse F7 und ist Master 20.

MfG
Tony G.

von ChrisEngel (Gast)


Lesenswert?

Hallo Tony,

Danke für deine Tips. Ich habe mir jetzt erst mal einen eBus Koppler 
gebaut wie er weiter oben schon mal zu sehn war. Leider hat der nicht 
wirklich Funktioniert. Zwischendurch kamen dann mal ein zwei Telegramme 
durch. Ich werde morgen mal eine andere Version zusammen bauen.

Ich habe an dem WrSol noch einen Heitzkreisregler WCS-EM und eine 
Fernbedienung WCS-FS hängen. Aber ich bezweifel das der Solarregler mit 
dem Erweiterungsmodul Komuniziert.

Womit ließt du die werte aus? Atmega? Kannst du vielleicht etwas von dem 
Programm Posten? Wäre sicher sehr Hilfreich.

MfG Christian

von Chris E. (chrisengel)


Lesenswert?

Hallo Zusammen,

kleines Update von mir. Ich habe mittlerweile meinen Adaprter fertig und 
schon fleißig auf dem Bus gelauscht. Allerdings ist es ja so das der 
WRsol keine Daten rausrückt.(Wie Tony schon gesagt hat) Ich kriege nur 
den Datenaustausch zwischen Heizkreisregler und Fernbedienung mit. Was 
allerdings auch sehr Interesant ist.

Bis jetzt habe folgende Werte:

Aussentemperatur
Raumtemperatur
Vorlauftemperatur
Uhrzeit
Datum
Wochentag
Betriebsart ( Ob Nur Heißwasserbetrieb oder Heizungsbetrieb)


Als nächstes werde ich meinen Adapter mal erweitern und mit einem Atmega 
ausstatten damit ich auch an die Werte des WRsol komme.

MfG Christian

von Tony G. (tonyg)


Lesenswert?

Hallo Zusammen.

Ich hab einen Schnittstelle gebaut die Sendet und Empfängt.
Das besondere an der Schaltung sind die wenigen Bauteile:
1 x 7805L
2 x BC547 oder sonstiges
2 x Wiederstand
2 x Diode (standart)
1 x Zehnerdiode 7v5 1.3W
1 x HCT4011 (NAND)

Der HCT wird zum Senden und Empfangen benutzt! Eine Schaltung
sowie eine genaue Bauteilbeschreibung werde ich in den nächsten Tage
hier veröffentlichen. Des weiternen werde ich den nächsten Woche meinen 
Quellcode für den WRSOL noch schreiben. Zur Zeit kann mein MEGA8 seine 
Idetifikation auf Anfrage Senden und Telegramme auswerten. Geplant ist 
noch das
- CRC Prüfen
- Auslesen der Daten (wie Kol. Temp, Speicher Temp., Leitung KW usw.)
- Verarbeitung der Daten von der WRSOL


Frohes Schaffen

Tony

von Chris E. (chrisengel)


Lesenswert?

Hallo,

Das klingt ganz nach dem eBus Wandler wie er auf der eBus wiki seite 
beschrieben ist. Ich habe momentan einen Atmega 32 am eBus der aber nur 
mithört und die Werte auf einem Display anzeigt. Leider habe ich noch 
nichts aus dem WrSol rausbekommen.

Weißt du vielleicht an welchen Speicherbereichen im WrSol die Werte 
abgelegt werden?

Die CRC müsste ja eine 8Bit CRC sein soweit ich weiß mit dem Polynom 9B 
und Initialwert 0.

Leider muss ich momentan erst mal meine Rolläden fertig machen danach 
werde ich mich wieder Intensiv mit dem eBus beschäftigen.

MfG Christian

von Tony G. (tonyg)


Lesenswert?

Chris Engel schrieb:
> Weißt du vielleicht an welchen Speicherbereichen im WrSol die Werte
> abgelegt werden?

Hallo Chris!

Ja ich habe alle Codes heraus bekommen die ich zum Auslesen des ROMs der 
WRSOL brauche.

Ich habe nur zur Zeit Probleme mit meiner Software weil mein UART
des ATMEGA8 nicht so will wie ich mir das gedacht habe! Das Problem
liegt darin das mein MEGA8 die Anforderung sendet und gleich wieder ein
Zeichen empfangen muss! Aber leider zeigt er mir noch die Daten die ich 
schon gesendet habe! Ich weis erst mal momentan nicht ganz weiter...
Wenn ich heut Abend Zeit hab werde ich die Soft mal Uploaden.

MfG
Tony

von Tony G. (tonyg)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen!

Wie versprochen gibt es heut meine Schaltung von dem eBUS Converter
und meinem angefangenen Programm. Für Rechtschreibung und sinnlose
Bytes entschuldige ich mich schon mal :-). So das Problem ligt derzeit
hier:
1
case READ_DATA: // Hier ist das PROBLEM, HIER WERDEN DIE VON ATMEGA GESENDETE BYTE NOCH MAL EMPFANGEN, UND DER BUFFER FÜLLT SICH FALSCH
2
c = ser_getc();        
3
    {
4
    if ((!(c==SYN))) { ebus_buffer[ebus_pos] = c; if (!(ebus_pos>39)) ebus_pos++;}  
5
        else if ((c==SYN)) { } // data_push(); zustand=ANALYSE_READ_DATA;/* ebus_control |= ERROR_TO_READ_DATA;*/}
6
7
        }
8
     if (ebus_pos==5) Folge_Bytes = ebus_buffer[3];
9
  if (ebus_pos==(Folge_Bytes+6)) {data_push(); zustand=ANALYSE_READ_DATA;} //data_push() schiebt den ebus_buffer ich richtige POSITION  
10
// else zustand=REC_DATA;
11
break;
Bevor ich READ_DATA aufrufe sendet der Mega8
MASTER_ADRESSE,WRSOL_SLAVE,0x07,0x04,0x01,0x00.
So jetzt würde ich eigentlich das Telegramm der WRSol bekommen
das es sie gibt. Das beginnt mit 0x00; 0x0A; usw.
Das will ich jetzt lesen! Leider bekomme ich aber die Bytes noch
von meinem Senden also so:
0x04,0x01,0x00,CRC und dann erst 0x00,0x0A usw.
obwohl ich UCSRB &= ~(1<<RXEN); ausschalte.
Woran kann das liegen?

MfG
Tony

von Chris E. (chrisengel)


Lesenswert?

Hallo Tony,

erstmal Danke für dein Programm und deinen Schaltplan. Ich kann leider 
auch nicht sehn warum du deine gesendeten Zeichen nochmal empfängst es 
sieht eigentlich alles Richtig aus. Hast du schonmal versucht anstatt an 
den WrSol an einen PC zu schicken. Dann siehst du ob der Atmega wirklich 
seine eigenen zeichen empfängt oder ob vll ein ebus Teilnehmer die Daten 
verzögert spiegelt ( warum auch immer ). Ich muss dazu sagen das ich 
eigentlich immer in Assembler Programmiere und mich mit C nicht wirklich 
gut auskenne.

Konntest du mittlerweile schon die Daten auslesen?

MfG Christian

von Tony G. (tonyg)


Lesenswert?

Hallo Christian!

Hab das Problem gelöst! :) Ich hab in der Sendefunktion
ein Delay von genau 8 ms eingebaut, weil er warscheinlich das
gesendete gleich wieder ins Register gelesen hat! Nun funktioniert
es so wie es sein soll! Und JA ich hab alle möglichen Daten aus der
WRSOL testweise auslesen können! Ich habe auch noch einen kleinen Fehler
in der analyse_data() Funktion gefunden, den ich noch korrigiert habe.
Wenn ich mit meinem Code noch etwas weiter bin, werd ich ihn hier 
nochmal
offenbaren und zwar mit Auslesung der WRSOL Daten. :)
Bis Später...

MfG Tony

von Pido (Gast)


Lesenswert?

Hallo

lol wusste gar nich das eBus so populär ist :).Von der Frima TEM 
(arbeite dort) gibts es schon fertige Aufzeichnungs Tools. Über USB oder 
LAN.

Gruss

von hobe (Gast)


Lesenswert?

@ Chris Engel:
das du das gesendete Zeichen wieder empfängts hängt mit der Arbitrierung 
zusammen. Du musst das empfangene Zeichen auch überprüfen, ob es das 
gesendete ist, sonst darfst du nicht weiterschicken!!

siehe: 
http://ebus.webhop.org/twiki/pub/EBus/EBusDoku/Spec_Prot_12_V1_3_1.pdf 
(Kapitel 6.2)

@ Pido:
Wenn du bei TEM arbeitest könntest du doch mithelfen den eBus zu einem 
offeneren Standard zu machen ;)
Auf http://ebus.webhop.org hast du die Möglichkeit dazu....

lg
Bernhard

von f.moritz (Gast)


Lesenswert?

Habe ein Nullmodemkabel und dazu ein USB-RS 232 Adapterkabel am ISM1 
Schnittstellenmodul. Fehlermeldung " Keine serielle Verbindung 
verfügbar.
Vorher hatte ich einen anderen PC dabei hatte ich ein USB RS 232 
Adapterkabel nicht nötig,da der Anschluss da war. Frage was hat das " 
blöde " Teil ?

von KleKa (Gast)


Lesenswert?

Kein null-modem kabel verwenden.

von Ingo W. (wupperi)


Lesenswert?

Wäre es für jemanden hier im Forum möglich den Schaltplan von Tony um 
eine serielle Schnittstelle mittels MAX232 zu erweitern?

Danke und Gruss,

Ingo

von Klaus R. (klara)


Lesenswert?

Hallo Ingo,
Du brauchst den MAX232 doch nur daran zuhängen.
Gruss Klaus.

von Ingo W. (wupperi)


Lesenswert?

D.h. T1in an Pin 4 vom 4011N und R1in an Pin 8/9, sowie V+ an +5V und V- 
an GND?
C1+ und C1-, sowie C2+ und C2- jeweils mit einem Elko 1nF schliessen? 
Wie gesagt, bin nicht so bewandert, schaffe es wohl gerade mir einen 
fertigen Plan zusammenzulöten...aber was ich da genau löte...

von Reinhold A. (bluebird1)


Lesenswert?

ebc schrieb:
> ebus Daten auf SD Karte loggen

Hallo Christian,

ich habe eine Vaillant VC126 Therme im Betrieb mit eBus und möchte 
versuchen wesentliche Betriebsdaten zu loggen. Du hast hier eine 
interessante Schaltung vorgestellt auf Basis eines atmega8 in Verbindung 
mit einer SD-Karte. Ich würde mir diese Schaltung gerne nachbauen, 
jedoch fehlt bei Deinem Hinweis jeglicher Link zu der Betriebs-Software 
für den Atmega. Wärst Du bereit mir/uns das zugehörige Programm für 
diese Applikation beizustellen?

Ich bin Mitglied im Bereich eBus-wiki den BernhardH freundlicherweise 
ins Leben gerufen hat und würde dort meine Erkenntnisse, die ich 
hoffentlich auch mit Deiner Hilfe noch erarbeiten werde, der 
Gemeinschaft zur Verfügung stellen.

Freue mich auf eine Antwort.

Gruß,
Reinhold

von Thomas H. (bahlu)


Lesenswert?

Hallo Leute,

Ich bin neu hier und hoffe das der ein oder andere hier noch reinschaut 
^^ Suche seit wochen eine anleitung zum Bau eines Interface vom e-bus 
zum PC.

Oder ist es möglich ein fertiges teil über das Forum hier zu bekommen ?

Gruß Bahlu

von hobe (Gast)


Lesenswert?

Hallo Thomas,

im ebus wiki sind einige Schaltpläne zusammengetragen:

http://ebus.webhop.org/twiki/bin/view.pl/EBus/EBusKonverter

bestimmt findest du dort brauchbare Informationen bzw. Kontakte.

lg
Bernhard

von G. S. (varda)


Angehängte Dateien:

Lesenswert?

habe mal eine EBus-Interface Platine nach folgenden Forum-Einträgen
in KICAD entworfen.

http://www.ip-symcon.de/forum/f19/ebus-adapter-senden-empfangen-10799/index6.html#post119974

Galvanische Trennung ist NICHT mit auf der Platine, dafür gibt es 
günstige serielle Adapter aus HongKong für ein paar Euros in Ebay. 
Selbstbau lohnt da kaum.

von G. S. (varda)


Angehängte Dateien:

Lesenswert?

hier noch der Schaltplan dazu ...

von mips-freund (Gast)


Lesenswert?

Tolle Platine.


Hätte Interesse an der Platine.

Hast du noch ein paar Stück davon?

von G. S. (varda)


Lesenswert?

mips-freund schrieb:
> Tolle Platine.
>
>
> Hätte Interesse an der Platine.
>
> Hast du noch ein paar Stück davon?

ja, könnte noch ein paar abgeben

Bitte Boardmail an mich

von Helmut (Gast)


Lesenswert?

Kann euch Anwendern der Schaltung nur IPSymcon empfehlen.

Dort hat der äußerst kompetenter User Andreas (Brownson) ein 
Anwendermodul für die Software geschrieben, dass schon die 
Checksummengeschichte und Decodierung recht einfach macht.

Aber Vorsicht:

IPSymcon macht süchtig, man will alles damit machen....


Gruß Helmut

von Andre G. (whopperg)


Lesenswert?

Hi,

ich weiß, der Thread ist "Stein alt" ;-) Hoffe das keiner Anstoß daran 
nimmt.

Bin über das Wiki hierher gelangt.

Ich suche noch einen RS232 zu E-Bus Adapter. Hat noch jemand so einen 
rumliegen?

Oder gibt es noch eine Alternative ohne IC's zu brennen? Habe leider 
nicht die Hardware dazu.

Ein bisschen Löten bekomme ich allerdings noch hin. Habe mir schon einen 
EMS-Bus Adabter gebaut.
Wenn es auch ohne IC Brennen geht, wäre vielleicht eine Teileliste für 
Reichelt o.ä. nett - BlackBoard Vorlage wäre auch schön ;-)


Versuchen möchte ich meine Westaflex WAC300 anzubinden 
(Beitrag "Westaflex WAC 300 E-Bus? Daten auslesen/ändern"). Und da ich nicht 
genau weiss ob das Gerät E-BUS spricht, wollte ich mir nicht gleich für 
129 euro ein LAN zu EBus adapter kaufen ;-)

Danke!!!

von Klaus R. (klara)


Lesenswert?

Hallo Andre,
ich hatte anfangs auch einen EBUS-Adapter zusammengebastelt. Dann 
hinterher habe ich aus zeitlichen Gründen einen Adapter von eService 
gekauft. Dies war eine Empfehlung des Forums und ich hatte auch nie 
Probleme mit dem guten Stück.

http://www.eservice-online.de/eBus/
mfg. Klaus.

von Andre G. (whopperg)


Lesenswert?

Hi Klaus,

Danke für den Tipp! Seite kannte ich schon:-) Habe dort aber leider nur 
die Recht kostspieligen HUT/REG Adapter gefunden.

Da ich noch nicht mal weiss ob die WAC300 überhaupt E-Bus spricht, 
wollte ich nicht gleich soviel ausgeben ;-)

Später, wenn es denn wirklich klappen sollte ist das ne echt feine Sache 
- und der Preis mit Netzwerk-Schnittstelle ist dann auch ok. Aber nicht 
zum rumspielen und dann doch nicht gebrauchen können ;-)

Gruß,
Andre

von Christian H. (c_h)


Lesenswert?

Hallo!

Hat zufällig jemand eine Idee vom RAM-Aufbau einer Weishaupt WRSOL 1.1 
Solarsteuerung? Ich will per eBus Daten wie die aktuelle 
Kollektortemperatur auslesen. Bei der alten WRSOL 1.0 geht es mit den 
RAM Adressen wie in
https://forum.fhem.de/index.php?topic=65678.0
beschrieben.
Bei der WRSOL 1.1 findet sich in dem RAM-Bereich nur 00 01 02 03 ... für 
jeden 256-Block.

Nur weiter unten sind viele Werte, aber bis jetzt konnte ich noch nicht 
finden was wo ist.

Im Link ist auch ein weiterer Thread verlinkt mit der 
Auswertungssoftware von Weishaupt auf Google Drive. In deren 
Datendateien sind für viele WRSOL-Geräte die RAM-Adressen erkennbar. 
Nicht aber für WRSOL 1.1

Gibt es diese Auswertungssoftware auch für WRSOL 1.1?

Danke
 Christian

von Kim Hanesch (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

bin auch aktuell interessiert meine wrsol 1.1 auszulesen.
Konnte über Weishaupt folgendes Dokument erhalten.

Bin jedoch noch nicht weiter gekommen.

Vielleicht hilft mein Dokument ja weiter.

Bin auf jedenfall an deien Resultaten interessiert.

mfg,
Kim

von Klaus R. (klara)


Lesenswert?

Kim Hanesch schrieb:
> Vielleicht hilft mein Dokument ja weiter.

Hätte man dies früher auch von Vailant erhalten. Ich meine, heute ist 
Vailant immer noch nicht so kooperativ.
mfg Klaus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.