Läuft: Heizung mit eBus-Schnittstelle

Begonnen von Prof. Dr. Peter Henning, 29 November 2014, 13:36:59

Vorheriges Thema - Nächstes Thema

yuhu

Morgen,

zum Einstellen des Adapters eignet sich die Option --lograwdata. Damit wird im Logfile jedes Byte ausgegeben.

Dort sollten zwischen den Nachrichten viele SYN-Zeichen (AA) zu sehen sein.

Beim Starten vom ebusd werden bis zum ersten, sinnvollen Telegramm nur 00 ausgegeben.

Bei mir sieht das wie folgt aus.

root@raspberrypi:~/tmp/ebusd# src/ebusd/ebusd -f --lograwdata
2014-12-24 11:24:00.728 [bas event] ebusd started
2014-12-24 11:24:00.729 [bas trace] path to ebus configuration files: /etc/ebusd
2014-12-24 11:24:00.742 [bas trace] read templates
2014-12-24 11:24:00.943 [bas trace] read config files
2014-12-24 11:24:00.944 [bas event] message DB: 545
2014-12-24 11:24:00.945 [bas event] updates DB: 26
2014-12-24 11:24:00.947 [bas event] polling DB: 25
2014-12-24 11:24:00.954 [bus event] <00
2014-12-24 11:24:00.957 [bus event] <aa
2014-12-24 11:24:00.990 [bus event] <00
2014-12-24 11:24:00.992 [bus event] <00
2014-12-24 11:24:00.994 [bus event] <00
2014-12-24 11:24:00.996 [bus event] <00
2014-12-24 11:24:00.999 [bus event] <00
2014-12-24 11:24:01.001 [bus event] <00
2014-12-24 11:24:01.004 [bus event] <00
2014-12-24 11:24:01.006 [upd trace] update MM cmd: 000000000000
2014-12-24 11:24:01.008 [bus event] <00
2014-12-24 11:24:01.011 [bus event] <00
2014-12-24 11:24:01.013 [bus event] <00
2014-12-24 11:24:01.015 [bus event] <00
2014-12-24 11:24:01.017 [bus event] <00
2014-12-24 11:24:01.020 [bus event] <00
2014-12-24 11:24:01.022 [bus event] <00
2014-12-24 11:24:01.025 [bus event] <00
2014-12-24 11:24:01.027 [bus event] <00
2014-12-24 11:24:01.029 [bus event] <00
2014-12-24 11:24:01.032 [bus event] <00
2014-12-24 11:24:01.034 [bus event] <00
2014-12-24 11:24:01.037 [bus event] <00
2014-12-24 11:24:01.039 [bus event] <00
2014-12-24 11:24:01.042 [bus event] <00
2014-12-24 11:24:01.044 [bus event] <00
2014-12-24 11:24:01.047 [bus event] <00
2014-12-24 11:24:01.049 [bus event] <00
2014-12-24 11:24:01.051 [bus event] <00
2014-12-24 11:24:01.054 [bus event] <00
2014-12-24 11:24:01.056 [bus event] <00
2014-12-24 11:24:01.058 [bus event] <00
2014-12-24 11:24:01.061 [bus event] <00
2014-12-24 11:24:01.063 [bus event] <00
2014-12-24 11:24:01.065 [bus event] <00
2014-12-24 11:24:01.068 [bus event] <00
2014-12-24 11:24:01.071 [bus event] <00
2014-12-24 11:24:01.073 [bus event] <00
2014-12-24 11:24:01.075 [bus event] <00
2014-12-24 11:24:01.077 [bus event] <00
2014-12-24 11:24:01.080 [bus event] <00
2014-12-24 11:24:01.082 [bus event] <aa
2014-12-24 11:24:01.085 [bus event] <aa
2014-12-24 11:24:01.087 [bus event] <aa
2014-12-24 11:24:01.121 [bus event] <aa
2014-12-24 11:24:01.123 [bus trace] poll cmd: ffedb509030d0700b0
2014-12-24 11:24:01.125 [bus event] >ff
2014-12-24 11:24:01.131 [bus event] <ff
2014-12-24 11:24:01.134 [bus event] >ed
2014-12-24 11:24:01.141 [bus event] <ed
2014-12-24 11:24:01.143 [bus event] >b5
2014-12-24 11:24:01.149 [bus event] <b5
2014-12-24 11:24:01.151 [bus event] >09
2014-12-24 11:24:01.157 [bus event] <09
2014-12-24 11:24:01.160 [bus event] >03
2014-12-24 11:24:01.166 [bus event] <03
2014-12-24 11:24:01.168 [bus event] >0d
2014-12-24 11:24:01.174 [bus event] <0d
2014-12-24 11:24:01.177 [bus event] >07
2014-12-24 11:24:01.183 [bus event] <07
2014-12-24 11:24:01.185 [bus event] >00
2014-12-24 11:24:01.191 [bus event] <00
2014-12-24 11:24:01.194 [bus event] >b0
2014-12-24 11:24:01.200 [bus event] <b0
2014-12-24 11:24:01.204 [bus event] <00
2014-12-24 11:24:01.209 [bus event] <04
2014-12-24 11:24:01.212 [bus event] <30
2014-12-24 11:24:01.216 [bus event] <02
2014-12-24 11:24:01.220 [bus event] <00
2014-12-24 11:24:01.224 [bus event] <00
2014-12-24 11:24:01.229 [bus event] <e8
2014-12-24 11:24:01.232 [bus event] >00
2014-12-24 11:24:01.237 [bus event] <00
2014-12-24 11:24:01.240 [bus event] poll pms00 BufferNtcTo: 35.00;ok
2014-12-24 11:24:01.243 [bus event] >aa
2014-12-24 11:24:01.249 [bus event] <aa
2014-12-24 11:24:01.293 [bus event] <aa
2014-12-24 11:24:01.336 [bus event] <aa
2014-12-24 11:24:01.380 [bus event] <aa
2014-12-24 11:24:01.424 [bus event] <aa
2014-12-24 11:24:01.469 [bus event] <aa
2014-12-24 11:24:01.513 [bus event] <aa
2014-12-24 11:24:01.557 [bus event] <aa
2014-12-24 11:24:01.600 [bus event] <aa
2014-12-24 11:24:01.644 [bus event] <aa
2014-12-24 11:24:01.688 [bus event] <aa
2014-12-24 11:24:01.732 [bus event] <aa
2014-12-24 11:24:01.776 [bus event] <aa
2014-12-24 11:24:01.821 [bus event] <aa
2014-12-24 11:24:01.865 [bus event] <aa
2014-12-24 11:24:01.909 [bus event] <aa
2014-12-24 11:24:01.952 [bus event] <aa
2014-12-24 11:24:01.997 [bus event] <aa
2014-12-24 11:24:02.041 [bus event] <aa
2014-12-24 11:24:02.084 [bus event] <aa
2014-12-24 11:24:02.129 [bus event] <aa
2014-12-24 11:24:02.173 [bus event] <aa
2014-12-24 11:24:02.217 [bus event] <aa
2014-12-24 11:24:02.261 [bus event] <aa
2014-12-24 11:24:02.304 [bus event] <aa
2014-12-24 11:24:02.310 [bus event] <10
2014-12-24 11:24:02.317 [bus event] <08
2014-12-24 11:24:02.321 [bus event] <b5
2014-12-24 11:24:02.326 [bus event] <09
2014-12-24 11:24:02.330 [bus event] <03
2014-12-24 11:24:02.334 [bus event] <29
2014-12-24 11:24:02.338 [bus event] <01
2014-12-24 11:24:02.342 [bus event] <00
2014-12-24 11:24:02.347 [bus event] <23
2014-12-24 11:24:02.350 [bus event] <00
2014-12-24 11:24:02.355 [bus event] <05
2014-12-24 11:24:02.359 [bus event] <01
2014-12-24 11:24:02.364 [bus event] <00
2014-12-24 11:24:02.368 [bus event] <13
2014-12-24 11:24:02.372 [bus event] <02
2014-12-24 11:24:02.376 [bus event] <00
2014-12-24 11:24:02.381 [bus event] <a4
2014-12-24 11:24:02.385 [bus event] <00
2014-12-24 11:24:02.386 [upd trace] update MS cmd: 1008b5090329010023 / 050100130200a4
2014-12-24 11:24:02.388 [upd event] update ehp00 hwFlowTemp: 33.19;ok
2014-12-24 11:24:02.391 [bus event] <aa
2014-12-24 11:24:02.432 [bus event] <aa
2014-12-24 11:24:02.476 [bus event] <aa
2014-12-24 11:24:02.481 [bus event] <10
2014-12-24 11:24:02.489 [bus event] <fe
2014-12-24 11:24:02.494 [bus event] <b5
2014-12-24 11:24:02.498 [bus event] <05
2014-12-24 11:24:02.502 [bus event] <04
2014-12-24 11:24:02.506 [bus event] <27
2014-12-24 11:24:02.511 [bus event] <00
2014-12-24 11:24:02.515 [bus event] <19
2014-12-24 11:24:02.519 [bus event] <00
2014-12-24 11:24:02.523 [bus event] <23
2014-12-24 11:24:02.524 [upd trace] update BC cmd: 10feb505042700190023
2014-12-24 11:24:02.527 [bus event] <aa
2014-12-24 11:24:02.571 [bus event] <aa
2014-12-24 11:24:02.615 [bus event] <aa
2014-12-24 11:24:02.658 [bus event] <aa
2014-12-24 11:24:02.703 [bus event] <aa
2014-12-24 11:24:02.747 [bus event] <aa
2014-12-24 11:24:02.791 [bus event] <aa
2014-12-24 11:24:02.836 [bus event] <aa
2014-12-24 11:24:02.878 [bus event] <aa
2014-12-24 11:24:02.923 [bus event] <aa
2014-12-24 11:24:02.967 [bus event] <aa
2014-12-24 11:24:02.971 [bus event] <10
2014-12-24 11:24:02.980 [bus event] <fe
2014-12-24 11:24:02.984 [bus event] <b5
2014-12-24 11:24:02.988 [bus event] <05
2014-12-24 11:24:02.992 [bus event] <03
2014-12-24 11:24:02.995 [bus event] <4a
2014-12-24 11:24:03.000 [bus event] <01
2014-12-24 11:24:03.004 [bus event] <00
2014-12-24 11:24:03.008 [bus event] <f4
2014-12-24 11:24:03.009 [upd trace] update BC cmd: 10feb505034a0100f4
2014-12-24 11:24:03.012 [bus event] <aa
^C2014-12-24 11:24:03.035 [bas event] SIGINT received
2014-12-24 11:24:03.056 [bus event] <aa
2014-12-24 11:24:03.100 [bus event] <aa
2014-12-24 11:24:03.145 [bus event] <aa
2014-12-24 11:24:03.155 [bas event] ebusd stopped

heikoh81

_template.csv fehlte noch. Jetzt scheint es zu gehen - yuhuu.
Ist das was da erscheint sinnvoll?

Hinweis: Einen eneryyield (=Ertrag) kann ich nicht habe, da keine Solaranlage. Ich habe nur eine Brennwerttherme ohne jegliche Solartechnik oder ohne Wärmepumpe.


root@fhemALT:~# ebusd -f -l ALL -d /dev/ttyUSB0 -p 7777
2014-12-24 11:49:51.869 [bas event] ebusd started
2014-12-24 11:49:51.869 [bas trace] path to ebus configuration files: /etc/ebusd
2014-12-24 11:49:51.885 [bas trace] read templates
2014-12-24 11:49:51.910 [bas trace] read config files
2014-12-24 11:49:51.912 [bas event] message DB: 59
2014-12-24 11:49:51.913 [bas event] updates DB: 0
2014-12-24 11:49:51.914 [bas event] polling DB: 3
2014-12-24 11:49:52.110 [upd trace] update MS cmd: 1008b51009000061ffffff04ff006a / 01019a
2014-12-24 11:49:52.158 [bus trace] poll cmd: ff15b509030d870075
2014-12-24 11:49:52.259 [bus event] poll uih00 EnergyYieldSum: 1677722376
2014-12-24 11:49:58.039 [bus trace] poll cmd: ff15b509030d8600ee
2014-12-24 11:49:58.129 [bus error] poll uih00 EnergyYieldDayTransfer failed: ERR: invalid position
2014-12-24 11:49:58.231 [upd trace] update MS cmd: 1008b511010189 / 09615a5007ff690100ff0d
2014-12-24 11:50:00.148 [upd trace] update BC cmd: 10feb5160800035011241203140e
2014-12-24 11:50:00.386 [upd trace] update MS cmd: 1008b512020000ca / 0000
2014-12-24 11:50:02.167 [upd trace] update MS cmd: 1008b51009000061ffffff04ff006a / 01019a
2014-12-24 11:50:04.024 [bus trace] poll cmd: ff15b509030d020024
2014-12-24 11:50:04.114 [bus error] poll uih00 FlowTempSensor failed: ERR: invalid position
2014-12-24 11:50:08.270 [upd trace] update MS cmd: 1008b511010189 / 09615a5007ff690100ff0d
2014-12-24 11:50:10.043 [bus trace] poll cmd: ff15b509030d870075
2014-12-24 11:50:10.141 [bus event] poll uih00 EnergyYieldSum: 1677722376
2014-12-24 11:50:10.376 [upd trace] update MS cmd: 1008b50401003d / 0a031150112412031450078a
2014-12-24 11:50:10.635 [upd trace] update MS cmd: 1008b51101028a / 06033c96468c6ee3
2014-12-24 11:50:12.376 [upd trace] update MS cmd: 1008b51009000061ffffff04ff006a / 01019a
2014-12-24 11:50:16.041 [bus trace] poll cmd: ff15b509030d8600ee
2014-12-24 11:50:16.132 [bus error] poll uih00 EnergyYieldDayTransfer failed: ERR: invalid position
2014-12-24 11:50:18.472 [upd trace] update MS cmd: 1008b511010189 / 09615a5007ff690100ff0d


Ok, so sieht es bei mir mit --lograwdata aus. Ist dann mein Poti korrekt eingestellt oder sind das zuviele AA:


2014-12-24 11:48:38.874 [bus event] <01
2014-12-24 11:48:38.878 [bus event] <00
2014-12-24 11:48:38.882 [bus event] <3d
2014-12-24 11:48:38.888 [bus event] <00
2014-12-24 11:48:38.898 [bus event] <0a
2014-12-24 11:48:38.902 [bus event] <03
2014-12-24 11:48:38.905 [bus event] <40
2014-12-24 11:48:38.909 [bus event] <48
2014-12-24 11:48:38.913 [bus event] <11
2014-12-24 11:48:38.918 [bus event] <24
2014-12-24 11:48:38.922 [bus event] <12
2014-12-24 11:48:38.926 [bus event] <03
2014-12-24 11:48:38.930 [bus event] <14
2014-12-24 11:48:38.935 [bus event] <50
2014-12-24 11:48:38.939 [bus event] <07
2014-12-24 11:48:38.944 [bus event] <69
2014-12-24 11:48:38.948 [bus event] <00
2014-12-24 11:48:38.949 [upd trace] update MS cmd: 1008b50401003d / 0a0340481124120314500769
2014-12-24 11:48:38.952 [bus event] <aa
2014-12-24 11:48:38.995 [bus event] <aa
2014-12-24 11:48:39.038 [bus event] <aa
2014-12-24 11:48:39.082 [bus event] <aa
2014-12-24 11:48:39.125 [bus event] <aa
2014-12-24 11:48:39.166 [bus event] <aa
2014-12-24 11:48:39.209 [bus event] <aa
2014-12-24 11:48:39.254 [bus event] <aa
2014-12-24 11:48:39.296 [bus event] <aa
2014-12-24 11:48:39.339 [bus event] <aa
2014-12-24 11:48:39.386 [bus event] <aa
2014-12-24 11:48:39.426 [bus event] <aa
2014-12-24 11:48:39.467 [bus event] <aa
2014-12-24 11:48:39.511 [bus event] <aa
2014-12-24 11:48:39.554 [bus event] <aa
2014-12-24 11:48:39.598 [bus event] <aa
2014-12-24 11:48:39.640 [bus event] <aa
2014-12-24 11:48:39.683 [bus event] <aa
2014-12-24 11:48:39.726 [bus event] <aa
2014-12-24 11:48:39.768 [bus event] <aa
2014-12-24 11:48:39.812 [bus event] <aa
2014-12-24 11:48:39.855 [bus event] <aa
2014-12-24 11:48:39.898 [bus event] <aa
2014-12-24 11:48:39.941 [bus event] <aa
2014-12-24 11:48:39.983 [bus event] <aa
2014-12-24 11:48:40.026 [bus event] <aa
2014-12-24 11:48:40.069 [bus event] <aa
^C2014-12-24 11:48:40.071 [bas event] SIGINT received
2014-12-24 11:48:40.113 [bus event] <aa
2014-12-24 11:48:40.155 [bus event] <aa
2014-12-24 11:48:40.198 [bus event] <aa
2014-12-24 11:48:40.201 [bas event] ebusd stopped


Jojo11

So ähnlich sieht es bei mir auch aus. Und EnergyYieldSum liefert bei mir auch Werte, obwohl ich keine Solarzellen habe.

schöne Grüße
Jo

Prof. Dr. Peter Henning

"Solarzellen" sowieso nicht - die erzeugen Strom. Du meinst Solarkollektoren.

Das Problem ist eben, dass Vaillant bei unterschiedlichen Geräten die Register auch ganz unterschiedlich belegt hat.

Aber ein paar Dinge sind doch schon klar, z.B.

10 fe b5 16 = Broadcast (fe und 16) der Zentrale (10) von Vaillant (b5)
08 = Anzahl Bytes
00 = Status
03 = Sekunden 50=Minuten 11=Stunde 24=Tag 12=Monat 03=Wochentag Mittwoch 14=Jahr
0e = CRC

LG

pah

yuhu

#79
VORSICHT ist geboten. Ich hoffe ihr probiert nicht einfach irgendwelche Werte durch. Die Konfiguration muss auch zu Euren ebus Komponenten passen.

Fürs erste würde ich NUR das _template.csv und scan.csv in das Verzeichnis /etc/ebusd stellen.

ebusd starten und ein paar Minuten laufen lassen. ebusd sammelt anhand der zyklischen Nachrichten mögliche ebus Teilnehmer.

Ein 'ebusctl scan' startet einen Scan für die gesammelten Adressen. (scan full - einfach alle möglichen Teilnehmer)

Das Scan Ergebnis zeigt eine Spalte "ident". Die veröffentlichten Konfigurationsdateien sind bis jetzt nach diesen Ident benannt, ebenfalls entspricht Class in der Konfigurationsdatei dem Ident.

Gibt es für Eure Komopoenten bereits CSV Datei, so könnt Ihr die gerne verwenden. Beim Erstellen der fehlenden CSV Dateien kann ich behilflich sein.

Frohe Weihnachten

lg roland

Jojo11

Richtig, Solarkollektoren habe ich nicht. Aber Solarzellen auch nicht  ::)

@yuhu: Danke für den Hinweis. Ich versuche ohnehin zunächst nur zu verstehen, was die Heizung so alles sendet. Vom aktiven Schreiben bin ich wohl noch weit entfernt.

schöne Grüße
Jo

Prof. Dr. Peter Henning

#81
Frohe Weihnachten in die Runde !

pah

P.S.: Habe sowohl Solarzellen, als auch Solarkollektoren. Fehlt aber Sonne...

UweH

Ja Danke, auch so  :)

Sonnen...was? Wir müssen auf Wasserkraft umschwenken...jedenfalls hier im Norden. Hätte ich in jedem Fallrohr ein Strömungsgenerator eingebaut, könnte ich momentan ins Netz zurückspeisen... :-\

Jojo11

Wünsche ich ebenso!

schöne Grüße
Jo

heikoh81


heikoh81

@yuhu:

Ich habe jetzt folgendes ausgeführt, scan.csv & _template.csv nach /etc/ebusd:

ebusd -f -l ALL -d /dev/ttyUSB0 -p 8888

mehrere Minuten laufen lassen, Terminalsitzung in den Hintergrund, 2. Terminalsitzung gestartet.
Dort:

ebusctl scan full

Danach
ebusctl scan result
liefert

root@fhemALT:~# ebusctl scan result
08;Joh. Vaillant GmbH & Co.;BAI00;0600;5502;21132500;100116400;001005433;N9
15;Joh. Vaillant GmbH & Co.;47000;0231;6002
26;Joh. Vaillant GmbH & Co.;47000;0231;6002


Einen Ident kann ich leider noch nicht erkennen.
Übrigens hat keine der hier bereitgestellten .csv einen lesbaren Outbook ergeben:
https://github.com/yuhu-/ebusd-configuration/blob/master/ebusd-0.5.x/vaillant/scan.csv
Das einzige, was öfters erscheint, ist energy yield (welchen ich technisch nicht haben kann).

Viele Grüße,
Heiko

Prof. Dr. Peter Henning

Na, dann gehen wir doch mal langsam vor.

Was liefern die drei Kommandos:

ebusctl write -h 08070400
ebusctl write -h 15070400
ebusctl write -h 26070400

Die fragen die ID-Daten der Geräte auf dem Bus ab, sowie die Versionsnummern der Hard- und Software. Liefert nichts weiter als den Output vom Scan - aber ist immerhin schon ein aktives Kommando

LG

pah

yuhu

Ok, dass kommt nicht klar hervor.

08;Joh. Vaillant GmbH & Co.;BAI00;0600;5502;21132500;100116400;001005433;N9
15;Joh. Vaillant GmbH & Co.;47000;0231;6002
26;Joh. Vaillant GmbH & Co.;47000;0231;6002

Fett sind die Idents für die du Konfigdateien benötigst.

amunra

Bei mir läuft der 0.5er Ebusd sehr instabil - nur ein Beispiel:

2014-12-25 18:04:46.043 [net trace] [00009] connection opened 127.0.0.1
2014-12-25 18:04:46.044 [net debug] [00009] wait for result
2014-12-25 18:04:46.044 [bas event] >>> write -h 26070400
2014-12-25 18:04:46.044 [bas event] write hex cmd: 0a260704002f
2014-12-25 18:04:46.083 [bus debug] switching from ready to send command
2014-12-25 18:04:46.115 [bus debug] switching from send command to receive command ACK
2014-12-25 18:04:46.119 [bus debug] switching from receive command ACK to receive response
2014-12-25 18:04:46.169 [bus debug] switching from receive response to send response ACK
2014-12-25 18:04:46.176 [bus debug] notify request: success
2014-12-25 18:04:46.176 [bus event] read res: 0ab534333030300215200233
*** glibc detected *** ebusd: malloc(): smallbin double linked list corrupted: 0x0043bba0 ***


Speicherzugriffsfehler bekomme ich auch sehr oft ...

Ich bin noch auf der Suche nach der Ursache.
Grüße
Arthur

yuhu

Hi amunra,

falls du etwas reproduzieren/provozieren kannst wäre folgende Vorgangsweise gut.

$ gdb path_to_ebusd/ebusd
...
(gdb) set args -f (und weitere Argumente)
(gdb) run
...
nach einem Fehler
(gdb) backtrace


Und das Ergebnis posten.