Weishaupt WTC am eBus mit ebusd

Begonnen von J0EK3R, 19 November 2016, 13:51:45

Vorheriges Thema - Nächstes Thema

J0EK3R

Berechnung des Check-Bytes

Ich wage zu behaupten, dass das Check-Byte ein CRC8 mit Polynom 0x5C ist.

Als Beispiel muss folgender Aufruf herhalten:


pi@raspberrypi:~ $ ebusctl hex 0850000327029F


Es gilt, das Check-Byte (0x27) aus den zwei Byte Länge+Adresse (0x029F) zu berechnen.

Hier eine sog. Lookup Table für das Polynom 0x5C

Lookup Table:
0x00 0x5C 0xB8 0xE4 0x2C 0x70 0x94 0xC8 0x58 0x04 0xE0 0xBC 0x74 0x28 0xCC 0x90
0xB0 0xEC 0x08 0x54 0x9C 0xC0 0x24 0x78 0xE8 0xB4 0x50 0x0C 0xC4 0x98 0x7C 0x20
0x3C 0x60 0x84 0xD8 0x10 0x4C 0xA8 0xF4 0x64 0x38 0xDC 0x80 0x48 0x14 0xF0 0xAC
0x8C 0xD0 0x34 0x68 0xA0 0xFC 0x18 0x44 0xD4 0x88 0x6C 0x30 0xF8 0xA4 0x40 0x1C
0x78 0x24 0xC0 0x9C 0x54 0x08 0xEC 0xB0 0x20 0x7C 0x98 0xC4 0x0C 0x50 0xB4 0xE8
0xC8 0x94 0x70 0x2C 0xE4 0xB8 0x5C 0x00 0x90 0xCC 0x28 0x74 0xBC 0xE0 0x04 0x58
0x44 0x18 0xFC 0xA0 0x68 0x34 0xD0 0x8C 0x1C 0x40 0xA4 0xF8 0x30 0x6C 0x88 0xD4
0xF4 0xA8 0x4C 0x10 0xD8 0x84 0x60 0x3C 0xAC 0xF0 0x14 0x48 0x80 0xDC 0x38 0x64
0xF0 0xAC 0x48 0x14 0xDC 0x80 0x64 0x38 0xA8 0xF4 0x10 0x4C 0x84 0xD8 0x3C 0x60
0x40 0x1C 0xF8 0xA4 0x6C 0x30 0xD4 0x88 0x18 0x44 0xA0 0xFC 0x34 0x68 0x8C 0xD0
0xCC 0x90 0x74 0x28 0xE0 0xBC 0x58 0x04 0x94 0xC8 0x2C 0x70 0xB8 0xE4 0x00 0x5C
0x7C 0x20 0xC4 0x98 0x50 0x0C 0xE8 0xB4 0x24 0x78 0x9C 0xC0 0x08 0x54 0xB0 0xEC
0x88 0xD4 0x30 0x6C 0xA4 0xF8 0x1C 0x40 0xD0 0x8C 0x68 0x34 0xFC 0xA0 0x44 0x18
0x38 0x64 0x80 0xDC 0x14 0x48 0xAC 0xF0 0x60 0x3C 0xD8 0x84 0x4C 0x10 0xF4 0xA8
0xB4 0xE8 0x0C 0x50 0x98 0xC4 0x20 0x7C 0xEC 0xB0 0x54 0x08 0xC0 0x9C 0x78 0x24
0x04 0x58 0xBC 0xE0 0x28 0x74 0x90 0xCC 0x5C 0x00 0xE4 0xB8 0x70 0x2C 0xC8 0x94


Hier etwas Pseudo-Code...

// Funktionsdefinition: Lookup mit aktuellem CRC-Wert und XOR mit neuem Wert ergibt CRC-Wert
void AddCRC(Byte value)
{
  m_crc = CRC_LOOKUP_TABLE[m_crc]^value;
}


// Berechnung mit 0x029F
m_crc = 0 // Initialisierung

// Aufruf mit erstem Byte
AddCRC(0x02)
// -> CRC_LOOKUP_TABLE[0x00] -> 0x00
// -> 0x00 ^ 0x02 -> m_crc = 0x02

// Aufruf mit zweitem Byte
AddCRC(0x9F)
// -> CRC_LOOKUP_TABLE[0x02] -> 0xB8
// -> 0xB8 ^ 0x9F -> m_crc = 0x27


Und das Ergebnis passt!  ::)

john30

Zitat von: J0K3r am 07 Januar 2017, 17:59:06
Ich wage zu behaupten, dass das Check-Byte ein CRC8 mit Polynom 0x5C ist.
gute Arbeit! Hatte mich auch kurz mit ner CRC befasst, aber bin nicht auf das richtige Polynom gekommen :)
author of ebusd

J0EK3R

#62
Hallo  :)

Ich habe ein Shell-Script ebuscrc entwickelt, das die CRC8-Berechnung mit dem Weishaupt-Polynom 0x5C für beliebige Eingaben von Hex-Werten durchführt.

Damit kann man sich das fehlende Check-Byte errechnen lassen, beispielsweise wenn man eine neue Telegrammdefinition für den Dienst 5000 erstellt:

Abfrage eines Blocks von 4 Bytes (->3) an Adresse 0x29C ergibt einen Len/Adr-Teil von 329C.
Mit dem Shell-Script erzeugt man sich die Werte inklusive Check-Byte.

pi@raspberrypi:~ $ ebuscrc 329C
A8329C


Der Aufruf mit ebusctl sieht dann so aus

pi@raspberrypi:~ $ ebusctl hex 08500003A8329C
0500052ee402


Oder man baut die CRC-Berechnung direkt in den Aufruf von ebusctl ein:

pi@raspberrypi:~ $ ebusctl hex 08500003"$(ebuscrc 329C)"
0500052ee402


Wichtig ist, dass das Script von der Shell auch gefunden wird - es muss im Suchpfad sein.
Beispielsweise - wie auch ebusd, ebusctl, ebusfeed - im Verzeichnis /usr/bin.

Shell-Script ebuscrc
https://github.com/J0EK3R/ebusd-tools/blob/master/ebuscrc

#!/bin/bash
# this shellscript calculates a CRC8-value of a given hex-string with a CRC-polynome of value 0x5C
# usage: ebuscrc b268 -> ACB268
#
# usage within ebuctl-command:
# ebusctl hex 08500003"$(ebuscrc b268)" -> ebusctl hex 08500003ACB268

# CRC-lookuptable for polynom 0x5C
lookuptable=(
0x00 0x5C 0xB8 0xE4 0x2C 0x70 0x94 0xC8 0x58 0x04 0xE0 0xBC 0x74 0x28 0xCC 0x90
0xB0 0xEC 0x08 0x54 0x9C 0xC0 0x24 0x78 0xE8 0xB4 0x50 0x0C 0xC4 0x98 0x7C 0x20
0x3C 0x60 0x84 0xD8 0x10 0x4C 0xA8 0xF4 0x64 0x38 0xDC 0x80 0x48 0x14 0xF0 0xAC
0x8C 0xD0 0x34 0x68 0xA0 0xFC 0x18 0x44 0xD4 0x88 0x6C 0x30 0xF8 0xA4 0x40 0x1C
0x78 0x24 0xC0 0x9C 0x54 0x08 0xEC 0xB0 0x20 0x7C 0x98 0xC4 0x0C 0x50 0xB4 0xE8
0xC8 0x94 0x70 0x2C 0xE4 0xB8 0x5C 0x00 0x90 0xCC 0x28 0x74 0xBC 0xE0 0x04 0x58
0x44 0x18 0xFC 0xA0 0x68 0x34 0xD0 0x8C 0x1C 0x40 0xA4 0xF8 0x30 0x6C 0x88 0xD4
0xF4 0xA8 0x4C 0x10 0xD8 0x84 0x60 0x3C 0xAC 0xF0 0x14 0x48 0x80 0xDC 0x38 0x64
0xF0 0xAC 0x48 0x14 0xDC 0x80 0x64 0x38 0xA8 0xF4 0x10 0x4C 0x84 0xD8 0x3C 0x60
0x40 0x1C 0xF8 0xA4 0x6C 0x30 0xD4 0x88 0x18 0x44 0xA0 0xFC 0x34 0x68 0x8C 0xD0
0xCC 0x90 0x74 0x28 0xE0 0xBC 0x58 0x04 0x94 0xC8 0x2C 0x70 0xB8 0xE4 0x00 0x5C
0x7C 0x20 0xC4 0x98 0x50 0x0C 0xE8 0xB4 0x24 0x78 0x9C 0xC0 0x08 0x54 0xB0 0xEC
0x88 0xD4 0x30 0x6C 0xA4 0xF8 0x1C 0x40 0xD0 0x8C 0x68 0x34 0xFC 0xA0 0x44 0x18
0x38 0x64 0x80 0xDC 0x14 0x48 0xAC 0xF0 0x60 0x3C 0xD8 0x84 0x4C 0x10 0xF4 0xA8
0xB4 0xE8 0x0C 0x50 0x98 0xC4 0x20 0x7C 0xEC 0xB0 0x54 0x08 0xC0 0x9C 0x78 0x24
0x04 0x58 0xBC 0xE0 0x28 0x74 0x90 0xCC 0x5C 0x00 0xE4 0xB8 0x70 0x2C 0xC8 0x94
)

# uppercase argument string
whcmd=${1^^}

# get the number of chars
charcount=${#whcmd}

# insert leading '0' to get full 2-char bytes
if [[ $((charcount%2)) != 0 ]]
then
  whcmd="0$whcmd"
  charcount+=1
fi

# init CRC
crcresult_dec=0

for(( currentpos=0; currentpos<charcount; currentpos+=2 ))
do
  # get substring at current position -> current byte-string in hex
  substring=${whcmd:currentpos:2}
  # convert hex-byte to decimal value
  value_dec=$((16#$substring))
#  echo "$currentpos: substring:=$substring value_dec:=$value_dec"

  # get lookupvalue with last loops result -> string looks like 0xXX
  lookupvalue_hex=${lookuptable[$crcresult_dec]}
  # cut last 2-char byte from 0xXX -> XX and convert to decimal
  lookupvalue_dec=$((16#${lookupvalue_hex:${#lookupvalue_hex}-2:2}))
#  echo "$currentpos: crcresult_dec:=$crcresult_dec lookupvalue_hex:=$lookupvalue_hex lookupvalue_dec:=$lookupvalue_dec"

  # XOR lookupvalue and currentvalue
  currentcrc_dec=$(( $lookupvalue_dec ^ $value_dec ))
  # convert to hex-Byte
#  printf -v currentcrc_hex "%02X" "$currentcrc_dec"
#  echo "$currentpos: currentcrc_dec:=$currentcrc_dec currentcrc_hex:=$currentcrc_hex"

  crcresult_dec=$currentcrc_dec
done

# convert to hex-Byte
printf -v crcresult_hex "%02X" "$crcresult_dec"

echo "$crcresult_hex$whcmd"

J0EK3R

So, ich habe die Nachrichtendefinitionen für die Fehlerhistorie überarbeitet.  :)

Siehe https://github.com/J0EK3R/ebusd-configuration-weishaupt/blob/master/weishaupt/errorhistory.inc

Dabei bin ich zu folgender Erkenntnis gelangt:

  • die Fehlereinträge werden im Speicher des WTC als Ringpuffer geführt
  • der erste Wert der ursprünglichen Nachrichtendefinition (an Adresse 0x29F) ist der Offset zum ersten Eintrag im Ringpuffer

Ich habe die Nachrichten für die einzelnen Fehlereinträge nun so definiert, dass alle gleich aufgebaut sind, also die selbe Struktur haben.

Jetzt ist es auch möglich, sie zu einer einzigen Definition zu verketten und damit über einen einzigen Aufruf des ebusctl-Kommandos den kompletten Fehlerspeicher auszulesen.  ;D
Siehe https://github.com/john30/ebusd/wiki/4.1.-Message-definition#message-chaining

timo74

Hallo zusammen,

ich habe heute einen eBus-Adapter an meiner Weishaupt WTC-25A in Betrieb genommen und den ebusd installiert.
Vielen herzlichen Dank an PAH, John30 und J0K3r für die unermüdliche Arbeit hier und natürlich für das Weishaupt-Config-Repo auf Github.

Sorry, dass ich mit einer ziemlichen Anfängerfrage hier dazwischen plautze.
Ich empfange von der Heizung offensichtlich Daten. Zumindest sagt ein "ebusctl info", dass dort etwas gefunden wurde.
Leider bleiben die Daten bisher cryptisch. Ein "ebusctl find" ist zumindest der Meinung, dass keine Daten erkannt werden konnten (überall "no data stored").

Im ebusd.log irritiert mich, dass vom Daemon die "_templates.csv" und "broadcast.csv" angeblich nicht gefunden werden konnte.
Beide Dateien sind aber vorhanden und die Rechte sollten ebenfalls passen.

Das Ziel ist es eigentlich nur, Temperaturen und weitere Informationen aus der Heizung auszulesen und eine Benachrichtigung zu bekommen, wenn der Brenner einen Fehler meldet.
Aber ich befürchte, bis zur Anbindung an FHEM ist es noch ein weiter Weg.


2017-01-20 16:34:11.866 [main notice] SIGTERM received
2017-01-20 16:34:11.968 [main notice] ebusd stopped
2017-01-20 16:34:11.974 [main notice] ebusd 2.4.79708d2 started
2017-01-20 16:34:11.983 [main info] loading configuration files from /etc/ebusd
2017-01-20 16:34:11.985 [bus notice] signal acquired
2017-01-20 16:34:11.990 [main info] read templates in /etc/ebusd
2017-01-20 16:34:11.990 [main info] reading file /etc/ebusd/memory.csv
2017-01-20 16:34:11.992 [main info] reading file /etc/ebusd/broadcast.csv
2017-01-20 16:34:11.995 [main info] read config files
2017-01-20 16:34:11.995 [main notice] found messages: 11 (0 conditional on 0 conditions, 0 poll, 4 update)
2017-01-20 16:34:21.983 [main notice] starting initial scan for fe
2017-01-20 16:34:21.983 [bus info] send message: fffe070400
2017-01-20 16:34:24.935 [bus notice] new master f1, master count 2
2017-01-20 16:34:24.936 [update info] update BC cmd: f1fe500a0d010047120072ff7c00f942f608
2017-01-20 16:34:24.936 [update notice] unknown BC cmd: f1fe500a0d010047120072ff7c00f942f608
2017-01-20 16:34:32.058 [bus info] send message: fff6070400
2017-01-20 16:34:32.186 [main info] scan config f6 message received
[b]2017-01-20 16:34:32.192 [main error] error reading templates in /etc/ebusd/kromschroeder: ERR: element not found, last error: /etc/ebusd/kromschroeder/_templates.csv:27[/b]
[b]2017-01-20 16:34:32.194 [main error] error reading common config file /etc/ebusd/kromschroeder/broadcast.csv: ERR: element not found[/b]
2017-01-20 16:34:32.198 [main notice] read scan config file /etc/ebusd/kromschroeder/f6.csv for ID "wwst?", SW1200, HW0302
2017-01-20 16:34:32.198 [main notice] found messages: 16 (0 conditional on 0 conditions, 0 poll, 6 update)
2017-01-20 16:34:32.198 [main notice] scan config f6: file kromschroeder/f6.csv loaded
2017-01-20 16:34:55.164 [update info] update BC cmd: f1fe500a0d010047120072ff7c00f943f608
2017-01-20 16:34:55.164 [update notice] unknown BC cmd: f1fe500a0d010047120072ff7c00f943f608





pi@fhem-hwr:/etc/ebusd $ [b]ebusctl i[/b]
version: ebusd 2.4.79708d2
signal: acquired
symbol rate: 22
reconnects: 0
masters: 2
messages: 16
conditional: 0
poll: 0
update: 6
address 04: slave #25, ebusd
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=1200;HW=0302", loaded "kromschroeder/f6.csv"
address ff: master #25, ebusd



pi@fhem-hwr:/etc/ebusd $ [b]ebusctl find[/b]
HK1 = no data stored
HK2 = no data stored
broadcast datetime = no data stored
broadcast error = no data stored
broadcast ident = no data stored
broadcast signoflife = no data stored
SHC1 = no data stored
SHC2 = no data stored
broadcast ident = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.f6  = Kromschroeder;WWST?;1200;0302


Für den ein oder anderen Stubser in Bezug auf mögliche Wege zum Troubleshooting wäre ich sehr dankbar!!!  :)

Liebe Grüße
Timo



J0EK3R

Hallo Timo und herzlich willkommen! :)

Hast Du denn Deinen ebusd selbst aus den neuesten Quellen zusammengebaut (-> make) oder ist es eine Release-Version von John?

Ich arbeite mit den Quellen und baue den ebusd selbst zusammen, weil John dort ein paar Änderungen für uns schon eingepflegt hat, die in der Release-Version vermutlich noch nicht drin sind.

Dazu gehören auch die 24-Bit Datentypen (U3N usw.), die ich in der templates.csv schon verwende.
Ich vermute, dass Dein Problem daher kommt.

2017-01-20 16:34:32.192 [main error] error reading templates in /etc/ebusd/kromschroeder: ERR: element not found, last error: /etc/ebusd/kromschroeder/_templates.csv:27

_templates.csv

27: lhours,U3N,,h,Stunden
28: lcounter,U3N,,,


Außerdem hat John eine weitere Änderung gemacht, damit die csv-Dateien mit den zwei Punkten nach der Adresse (Bsp.: 35..hc1.csv) geladen und der Circuit automatisch und richtig gesetzt wird.

Also: entweder die aktuelle Version selbst bauen oder den Datentyp in der templates.csv von U3N ändern in HEX:3

Hier ein Diff meiner Änderung:

27: -lhours,HEX:3,,h,Stunden
28: -lcounter,HEX:3,,,
27: +lhours,U3N,,h,Stunden
28: +lcounter,U3N,,,

J0EK3R

Hallo Timo  ;)

Ich habe mir nochmal Deinen Post in Ruhe angesehen.
Mir ist aufgefallen, dass Du viel neuere Geräte hast als ich.

Hier meine Info-Ausgabe
https://forum.fhem.de/index.php/topic,61017.msg529439.html#msg529439

Ich kann mir gut vorstellen, dass die Broadcast-Telegramme in Deiner neueren Version gleich geblieben sein könnten.
Die anderen Telegramme, die auf eine Adresse zugreifen, die haben sich aber höchstwahrscheinlich geändert.

Soweit ich das sehe, hast Du nur einen Teilnehmer am eBus (0xF1/0xF6) - wahrscheinlich den Heizungsregler - und den ebusd (0xFF/0x04) natürlich.
Werden denn überhaupt Broadcast-Telegramme verschickt?

Hast Du mal einen Scan durchgeführt?
Dann sollte sich noch unter Adresse (0x03/0x08) - der Feuerungsautomat - melden.


ebusctl scan full

timo74

Hallo J0K3r,

Zitat von: J0K3r am 20 Januar 2017, 17:25:34
Hast Du denn Deinen ebusd selbst aus den neuesten Quellen zusammengebaut (-> make) oder ist es eine Release-Version von John?

Ich gebe zu, ich war faul und wollte ein schnelles Erfolgserlebnis. :-)

Zitat von: J0K3r am 20 Januar 2017, 17:25:34
Also: entweder die aktuelle Version selbst bauen oder den Datentyp in der templates.csv von U3N ändern in HEX:3

Dank dem EBUS-Eintrag im FHEM-Wiki war das selber compilieren gar nicht so aufregend. Direkt im Anschluss gab' es noch ein paar Probleme, dass angeblich irgendwelche Pfade nicht existierten, aber nach einer Deinstallation des vorherigen Deb-Packages und erneutem make + Reboot des Pi läuft nun der EBUS-Daemon in der Version 3.0pre.e256a74.

Und das beste ist, ich empfange sogar ein paar lesbare Daten. :-) Vielen Dank!!


root@fhem-hwr:/home/pi# ebusctl find
broadcast datetime = no data stored
broadcast error = no data stored
broadcast ident = no data stored
broadcast IstWerte = 1;BrennerAus;71;18;0;66.0;-;66.0;0.0;-10;-9.566;8
broadcast signoflife = no data stored
wwst? HK1 = no data stored
wwst? HK2 = no data stored
broadcast ident = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.f6  = Kromschroeder;WWST?;1200;0302
wwst? SHC1 = no data stored
wwst? SHC2 = no data stored


Dazu hätte ich noch eine Verständnisfrage: Laut "ebusctl info" habe ich an der Adresse "f6" meinen Brenner (als Slave).
Wurde deswegen die Datei "kromschroeder/f6.csv" geladen?
Und wenn ja, bedeutet dies, dass ich eine "f1.csv" mit der entsprechenden Register-/Wert-Übersetzung bräuchte, um weitere Werte (bspw. den Fehlerspeicher oder Status) ermitteln zu können?

BTW: Weiß jemand, wofür das "wwst" steht?

Als nächstes werde ich mal versuchen, die Werte im Feld "broadcast IstWerte = 1;BrennerAus;71;18;0;66.0;-;66.0;0.0;-10;-9.566;8" irgendwie weiter zu interpretieren.
Aber der Weg in Richtung Implementation der Heizung in FHEM ist schon ein Stück kürzer geworden. :) Vielen Dank nochmal!

Viele Grüße
Timo


timo74

#68
Zitat von: J0K3r am 20 Januar 2017, 19:50:02
Ich habe mir nochmal Deinen Post in Ruhe angesehen.
Mir ist aufgefallen, dass Du viel neuere Geräte hast als ich.

Die Installation ist ca. 2001/2002 durch den Vorbesitzer passiert. Und da mir auch ein Marktüberblick fehlt, kann ich nicht mal sagen, ob es zwischenzeitlich etwas neueres/besseres gibt. Aber nach knapp 15 Jahren ist wohl davon auszugehen.
EDIT: Quatsch. Mir fällt gerade ein, dass ich ja letztes Jahr für viel Geld das Mainboard tauschen lassen musste. Vermutlich ist dann da die aktuelle Firmware drauf gewesen.

Zitat von: J0K3r am 20 Januar 2017, 19:50:02
Soweit ich das sehe, hast Du nur einen Teilnehmer am eBus (0xF1/0xF6) - wahrscheinlich den Heizungsregler - und den ebusd (0xFF/0x04) natürlich.
Werden denn überhaupt Broadcast-Telegramme verschickt?

Ja, laut Log kommen Broadcasts an. Allerdings fehlt mir der Erfahrungswert, ob das nun eher wenige oder viele sind.

Zitat von: J0K3r am 20 Januar 2017, 19:50:02
Hast Du mal einen Scan durchgeführt?
Dann sollte sich noch unter Adresse (0x03/0x08) - der Feuerungsautomat - melden.

Der Hinweis auf den Full Scan war super! Jetzt findet sich tatsächlich noch ein Gerät mehr.


root@fhem-hwr:/home/pi# ebusctl scan result
08;Kromschroeder;W ;1200;0302
f6;Kromschroeder;WWST?;1200;0302


Viele Grüße
Timo

timo74

Hallo Freunde der Weishaupt Systeme,  ;)

ich frage mal ganz naiv in die Runde: Hat jemand (s)eine Weishaupt WTC im FHEM mittels des GAEBUS angebunden und erfolgreich die wichtigsten Eckdaten (VL/RL-Temperaturen, Außentemperatur, Brennerstatus, usw.) als Reading darstellen können?

Oder ist es beim derzeitigen Entwicklungsstand der CSV Files dafür noch zu früh?

Kann ich irgendwie helfen?

Viele Grüße
Timo

misc2000

#70
hi all,
ich habe auch eine Weishaupt Heizung (WTC25A) mit 2 extra WCM-EM für die 2 Heizkreise und einen Solarregler WRSOL2.1 mit einem großen Pufferspeicher welcher von Solar als auch dem Kaminoffen geladen wird und möchte gerne die aktuellen Temperaturen auslesen.

Ich habe mir schon mal den bus-Adapter gebaut und erfolgreich an einem meiner Ras Pi's in Betrieb genommen.
den aktuellen Stand von ebusd habe ich kompiliert und habe mir dann noch das ebusd-configuration-weishaupt unter dem user pi gezogen und unter /etc/ebusd/ kopiert (Verzeichnis war zuvor noch komplett leer)
sudo git clone https://github.com/J0EK3R/ebusd-configuration-weishaupt.git
sudo mv ebusd-configuration-weishaupt/kromschroeder /etc/ebusd/kromschroeder
sudo mv ebusd-configuration-weishaupt/weishaupt /etc/ebusd/weishaupt

ebusctl info gibt mir folgende Meldung aus:
version: ebusd 3.0pre.e256a74
signal: acquired
symbol rate: 54
reconnects: 0
masters: 6
messages: 477
conditional: 0
poll: 0
update: 0
address 03: master #11
address 04: slave #25, ebusd
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0216;HW=0101", loaded "kromschroeder/08.csv"
address 30: master #3
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/35..hc1.csv"
address 51: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/75..hc2.csv"
address f0: master #5
address f1: master #10
address f5: slave #5, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address f6: slave #10, scanned "MF=0;ID=?Q"E?;SW=" error: ERR: argument value out of valid range
address ff: master #25, ebusd


Jetzt bin ich mir aber gerade nicht sicher ob ich richtig installiert habe, oder ob ich zuvor/danach auch noch ebusd-configuration von john30 installieren muss da ich sehr viele Fehler bekomme das noch Definitionen fehlen wenn ich ein "ebusd --checkconfig" aufrufe  :(
2017-01-21 14:06:24.828 [main notice] ebusd 3.0pre.e256a74 performing configuration check...
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 10 field 17 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC1,System Wärmesteuerung Teil 1,,,5000,0C73BB13AC,UKN0,s,UCH,,,unknown0,HC1.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 1,HC2.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 2,HC3.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 3,HC4.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 4,HC5.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 5,HC6.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 6,HC7.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 7,HC8.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 8,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2
                                                                                                  ^
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 11 field 53 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC2,System Wärmesteuerung Teil 2,,,5000,E353AE03C3016F,UKN0,s,UCH,,,unknown0,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2,UKN3,s,UCH,,,unknown3,UKN4,s,UCH,,,unknown4,UKN5,s,UCH,,,unknown5,UKN6,s,UCH,,,unknown6,SetpointTempSystem,s,temp0,,,Solltemperatur System,SetpointDHW,s,temp0,,,Warmwasser Sollwert
                                                                                                                                                                                                                                           ^
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 47 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK1,HK1->HR,30,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 48 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK2,HK2->HR,70,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/kromschroeder/broadcast.csv" line 26 field 41 value "temp1": ERR: element not found
Erroneous item is here:
b,,IstWerte,Broadcast mit Istwerten,,,500a,,Status0,,UCH,,,Status,Betriebsphase,,operatingphase,,,Status,Status2,,UCH,,,Status,Status3,,UCH,,,Status,Laststellung,,UCH,,,Laststellung,T_Water,,temp1,,,Wassertemperatur,T_ECS,,temp1,,,ECS-Temperatur,T_Temp1,,temp1,,,Temp,T_Temp2,,temp1,,,Temp,T_Out,,ctemp1,,,Außentemperatur,T_Trend,,temp2,,,Trend,T_Temp3,,temp0,,,Temp
                                                                                                                                                                                               ^
Error reading "/etc/ebusd/kromschroeder/51.csv" line 34 field 11 value "temp2": ERR: element not found
Erroneous item is here:
b,,MI1.PD, ,,,5010,,Temp1,m,temp2,,, ,Byte2,m,UCH,,, ,Byte3,m,UCH,,,REQ,Temp4,s,ctemp1,,, ,Temp5,s,ctemp1,,, ,Temp2,s,ctemp1,,, ,Temp3,s,ctemp1,,, ,Byte8,s,UCH,,, ,Byte9,s,UCH,,, ,ByteA,s,UCH,,, ,ByteB,s,UCH,,, ,ByteC,s,UCH,,, ,ByteD,s,UCH,,,
                            ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 10 field 17 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC1,System Wärmesteuerung Teil 1,,,5000,0C73BB13AC,UKN0,s,UCH,,,unknown0,HC1.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 1,HC2.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 2,HC3.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 3,HC4.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 4,HC5.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 5,HC6.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 6,HC7.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 7,HC8.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 8,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2
                                                                                                  ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 11 field 53 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC2,System Wärmesteuerung Teil 2,,,5000,E353AE03C3016F,UKN0,s,UCH,,,unknown0,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2,UKN3,s,UCH,,,unknown3,UKN4,s,UCH,,,unknown4,UKN5,s,UCH,,,unknown5,UKN6,s,UCH,,,unknown6,SetpointTempSystem,s,temp0,,,Solltemperatur System,SetpointDHW,s,temp0,,,Warmwasser Sollwert
                                                                                                                                                                                                                                           ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 47 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK1,HK1->HR,30,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 48 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK2,HK2->HR,70,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/weishaupt/broadcast.csv" line 26 field 41 value "temp1": ERR: element not found
Erroneous item is here:
b,,IstWerte,Broadcast mit Istwerten,,,500a,,Status0,,UCH,,,Status,Betriebsphase,,operatingphase,,,Status,Status2,,UCH,,,Status,Status3,,UCH,,,Status,Laststellung,,UCH,,,Laststellung,T_Water,,temp1,,,Wassertemperatur,T_ECS,,temp1,,,ECS-Temperatur,T_Temp1,,temp1,,,Temp,T_Temp2,,temp1,,,Temp,T_Out,,ctemp1,,,Außentemperatur,T_Trend,,temp2,,,Trend,T_Temp3,,temp0,,,Temp
                                                                                                                                                                                               ^
Error reading "/etc/ebusd/weishaupt/51.csv" line 34 field 11 value "temp2": ERR: element not found
Erroneous item is here:
b,,MI1.PD, ,,,5010,,Temp1,m,temp2,,, ,Byte2,m,UCH,,, ,Byte3,m,UCH,,,REQ,Temp4,s,ctemp1,,, ,Temp5,s,ctemp1,,, ,Temp2,s,ctemp1,,, ,Temp3,s,ctemp1,,, ,Byte8,s,UCH,,, ,Byte9,s,UCH,,, ,ByteA,s,UCH,,, ,ByteB,s,UCH,,, ,ByteC,s,UCH,,, ,ByteD,s,UCH,,,
                            ^
Error reading "/etc/ebusd/weishaupt/08.csv" line 28 field 8 value "0d01610309": ERR: duplicate entry
Erroneous item is here:
r,,Prozess2, ,,,5000,0d01610309,Byte01,,UCH,,,Byte1,IO,,UCH,,,IO,Modulationsgrad,,UCH,,,Modulationsgrad
                     ^
2017-01-21 14:06:25.009 [main error] error executing instructions: ERR: duplicate entry, last error: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthc2.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/timercc.inc:6: /etc/ebusd/weishaupt/timerhwc.inc:6: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthwc.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhwc.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhwc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/errorhistory.inc:25: /etc/ebusd/weishaupt/manufacturer.inc:3: /etc/ebusd/weishaupt/statistic.inc:3: /etc/ebusd/weishaupt/enduser.inc:3: /etc/ebusd/weishaupt/processvalues.inc:3, error including "/etc/ebusd/kromschroeder/processvalues.inc" for "08": ERR: element not found, error including "/etc/ebusd/kromschroeder/enduser.inc" for "08": ERR: element not found, included "/etc/ebusd/kromschroeder/statistic.inc" for "08", error including "/etc/ebusd/kromschroeder/manufacturer.inc" for "08": ERR: element not found, error including "/etc/ebusd/kromschroeder/errorhistory.inc" for "08": ERR: element not found, included "/etc/ebusd/kromschroeder/processhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userholiday.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timercc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userholiday.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc2.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/timerhc.inc" for "75.hc2", error including "/etc/ebusd/weishaupt/processvalues.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/enduser.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/statistic.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/manufacturer.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/errorhistory.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/processhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timercc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc2.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "75.hc2": ERR: duplicate entry
2017-01-21 14:06:25.009 [main notice] found messages: 471 (0 conditional on 0 conditions, 0 poll, 0 update)
2017-01-21 14:06:25.014 [main notice] ebusd stopped


Kann mir jemand kurz schreiben was ich in welcher Reihenfolge wie installieren muss um eine saubere Installation für Weishaupt Geräte zu haben.
Bzw. was ich ggf. vergessen oder falsch gemacht habe.
Vielen Dank
misc2000

J0EK3R

Hallo misc2000  :)
Auch Dir ein "herzlich willkommen" im Club!  ;)

Ich hab nur kurz Zeit...

Du brauchst die ebus-configuration von John, weil dort Datentypen definiert sind, auf die ich wiederum verweise. Also die Dateien /etc/ebusd/_templates.csv und /etc/ebusd/broadcast.csv.

Du hast wohl tatsächlich den allerneusten ebusd - 3.0pre.
Möglich, dass da auch noch was nicht passt.  ???
Ich versuche mal demnächst auch auf die neusten Quellen zu wechseln, dann kann ich mehr sagen.

Du hast auch eine viel neuere WTC-Version als ich.  :-[
Ich kann keine Aussage machen, welche meiner Definitionen funktioniert.
Wenn Dein ebusd-System läuft, sollten wir mal ein paar Telegramme ausprobieren...

Ebusd hat wohl mit Deinem Teilnemer mit Adresse 0xF6 ein Problem.
Da müsste man mal nach forschen...

misc2000

#72
hi,
ich habe jetzt mal die 3 csv Dateien aus dem Hauptverzeichnis von /ebusd-configuration/ebusd-2.x.x/de dazu gelegt.
Jetzt sind die Fehler mit den unbekannten Variablen weg aber immer noch 7 x ERR: duplicate entry da:
pi@knx-rpii ~/ebusd $ ebusd-checkconfig
2017-01-22 18:39:26.515 [main notice] ebusd 3.0pre.e256a74 performing configuration check...
Error reading "/etc/ebusd/weishaupt/f6.csv" line 10 field 8 value "0C73BB13AC": ERR: duplicate entry
Erroneous item is here:
r,,SHC1,System Wärmesteuerung Teil 1,,,5000,0C73BB13AC,UKN0,s,UCH,,,unknown0,HC1.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 1,HC2.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 2,HC3.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 3,HC4.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 4,HC5.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 5,HC6.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 6,HC7.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 7,HC8.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 8,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2
                                             ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 11 field 8 value "E353AE03C3016F": ERR: duplicate entry
Erroneous item is here:
r,,SHC2,System Wärmesteuerung Teil 2,,,5000,E353AE03C3016F,UKN0,s,UCH,,,unknown0,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2,UKN3,s,UCH,,,unknown3,UKN4,s,UCH,,,unknown4,UKN5,s,UCH,,,unknown5,UKN6,s,UCH,,,unknown6,SetpointTempSystem,s,temp0,,,Solltemperatur System,SetpointDHW,s,temp0,,,Warmwasser Sollwert
                                             ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 47 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,HK1,HK1->HR,30,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                        ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 48 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,HK2,HK2->HR,70,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                        ^
Error reading "/etc/ebusd/weishaupt/broadcast.csv" line 26 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,IstWerte,Broadcast mit Istwerten,,,500a,,Status0,,UCH,,,Status,Betriebsphase,,operatingphase,,,Status,Status2,,UCH,,,Status,Status3,,UCH,,,Status,Laststellung,,UCH,,,Laststellung,T_Water,,temp1,,,Wassertemperatur,T_ECS,,temp1,,,ECS-Temperatur,T_Temp1,,temp1,,,Temp,T_Temp2,,temp1,,,Temp,T_Out,,ctemp1,,,Außentemperatur,T_Trend,,temp2,,,Trend,T_Temp3,,temp0,,,Temp
                                           ^
Error reading "/etc/ebusd/weishaupt/51.csv" line 34 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,MI1.PD, ,,,5010,,Temp1,m,temp2,,, ,Byte2,m,UCH,,, ,Byte3,m,UCH,,,REQ,Temp4,s,ctemp1,,, ,Temp5,s,ctemp1,,, ,Temp2,s,ctemp1,,, ,Temp3,s,ctemp1,,, ,Byte8,s,UCH,,, ,Byte9,s,UCH,,, ,ByteA,s,UCH,,, ,ByteB,s,UCH,,, ,ByteC,s,UCH,,, ,ByteD,s,UCH,,,
                   ^
Error reading "/etc/ebusd/weishaupt/08.csv" line 28 field 8 value "0d01610309": ERR: duplicate entry
Erroneous item is here:
r,,Prozess2, ,,,5000,0d01610309,Byte01,,UCH,,,Byte1,IO,,UCH,,,IO,Modulationsgrad,,UCH,,,Modulationsgrad
                     ^
2017-01-22 18:39:26.680 [main error] error executing instructions: ERR: duplicate entry, last error: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthc2.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/timercc.inc:6: /etc/ebusd/weishaupt/timerhwc.inc:6: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthwc.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhwc.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhwc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/errorhistory.inc:25: /etc/ebusd/weishaupt/manufacturer.inc:3: /etc/ebusd/weishaupt/statistic.inc:3: /etc/ebusd/weishaupt/enduser.inc:3: /etc/ebusd/weishaupt/processvalues.inc:3, included "/etc/ebusd/kromschroeder/processvalues.inc" for "08", included "/etc/ebusd/kromschroeder/enduser.inc" for "08", included "/etc/ebusd/kromschroeder/statistic.inc" for "08", included "/etc/ebusd/kromschroeder/manufacturer.inc" for "08", included "/etc/ebusd/kromschroeder/errorhistory.inc" for "08", included "/etc/ebusd/kromschroeder/processhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userholiday.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timercc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userholiday.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc2.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/timerhc.inc" for "75.hc2", error including "/etc/ebusd/weishaupt/processvalues.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/enduser.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/statistic.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/manufacturer.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/errorhistory.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timercc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc2.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "75.hc2": ERR: duplicate entry
2017-01-22 18:39:26.680 [main notice] found messages: 498 (0 conditional on 0 conditions, 0 poll, 8 update)
2017-01-22 18:39:26.685 [main notice] ebusd stopped
pi@knx-rpii ~/ebusd $


ebusctl info zeigt danach folgendes:
version: ebusd 3.0pre.e256a74
signal: acquired
symbol rate: 22
reconnects: 0
masters: 6
messages: 501
conditional: 0
poll: 0
update: 6
address 03: master #11
address 04: slave #25, ebusd
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0216;HW=0101", loaded "kromschroeder/08.csv"
address 30: master #3
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/35..hc1.csv"
address 51: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001", loaded "kromschroeder/51.csv"
address 52: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/75..hc2.csv"
address f0: master #5
address f1: master #10
address f5: slave #5, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address ff: master #25, ebusd


Und unter ebusctl find sind zu mindestens mal die ersten Werte unter den Broadcasts eingetragen:  ;)
Und die anderen Variablen werden ja erst gefüllt wenn ich die passenden reads absetze wenn ich das richtig verstanden habe?

broadcast datetime = -3.000;18:49:02;22.01.2017
broadcast error = no data stored
broadcast ident = no data stored
broadcast IstWerte = 1;BrennerAus;7;16;0;28.0;30.0;48.0;0.0;-3;-2.449;56
broadcast signoflife = no data stored
HK2->MI1 MI1.PD = no data stored
broadcast ident = no data stored
hc1 Adaption = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored
hc1 DHWSetpoint = no data stored
hc1 DHWSetValue = no data stored
hc1 DHWTemperature = no data stored
hc1 EndOfHoliday = no data stored
hc1 EndOfHoliday.Day = no data stored
hc1 EndOfHoliday.Month = no data stored
hc1 ExternalTemperature = no data stored
hc1 FrostProtection = no data stored
hc1 Gradient = no data stored
hc1 HeatDemand = no data stored
hc1 HolidayTemp = no data stored
hc1 HP1.Di.1 = no data stored
hc1 HP1.Di.2 = no data stored
hc1 HP1.Di.3 = no data stored
hc1 HP1.Do.1 = no data stored
hc1 HP1.Do.2 = no data stored
hc1 HP1.Do.3 = no data stored
hc1 HP1.Fr.1 = no data stored
hc1 HP1.Fr.2 = no data stored
hc1 HP1.Fr.3 = no data stored
hc1 HP1.Mi.1 = no data stored
hc1 HP1.Mi.2 = no data stored
hc1 HP1.Mi.3 = no data stored
hc1 HP1.Mo.1 = no data stored
hc1 HP1.Mo.2 = no data stored
hc1 HP1.Mo.3 = no data stored
hc1 HP1.Sa.1 = no data stored
hc1 HP1.Sa.2 = no data stored
hc1 HP1.Sa.3 = no data stored
hc1 HP1.So.1 = no data stored
hc1 HP1.So.2 = no data stored
hc1 HP1.So.3 = no data stored
hc1 HP2.Di.1 = no data stored
hc1 HP2.Di.2 = no data stored
hc1 HP2.Di.3 = no data stored
hc1 HP2.Do.1 = no data stored
hc1 HP2.Do.2 = no data stored
hc1 HP2.Do.3 = no data stored
hc1 HP2.Fr.1 = no data stored
hc1 HP2.Fr.2 = no data stored
hc1 HP2.Fr.3 = no data stored
hc1 HP2.Mi.1 = no data stored
hc1 HP2.Mi.2 = no data stored
hc1 HP2.Mi.3 = no data stored
hc1 HP2.Mo.1 = no data stored
hc1 HP2.Mo.2 = no data stored
hc1 HP2.Mo.3 = no data stored
hc1 HP2.Sa.1 = no data stored
hc1 HP2.Sa.2 = no data stored
hc1 HP2.Sa.3 = no data stored
hc1 HP2.So.1 = no data stored
hc1 HP2.So.2 = no data stored
hc1 HP2.So.3 = no data stored
hc1 HP3.Di.1 = no data stored
hc1 HP3.Di.2 = no data stored
hc1 HP3.Di.3 = no data stored
hc1 HP3.Do.1 = no data stored
hc1 HP3.Do.2 = no data stored
hc1 HP3.Do.3 = no data stored
hc1 HP3.Fr.1 = no data stored
hc1 HP3.Fr.2 = no data stored
hc1 HP3.Fr.3 = no data stored
hc1 HP3.Mi.1 = no data stored
hc1 HP3.Mi.2 = no data stored
hc1 HP3.Mi.3 = no data stored
hc1 HP3.Mo.1 = no data stored
hc1 HP3.Mo.2 = no data stored
hc1 HP3.Mo.3 = no data stored
hc1 HP3.Sa.1 = no data stored
hc1 HP3.Sa.2 = no data stored
hc1 HP3.Sa.3 = no data stored
hc1 HP3.So.1 = no data stored
hc1 HP3.So.2 = no data stored
hc1 HP3.So.3 = no data stored
hc1 LegionnairesFunction = no data stored
hc1 MaxDHWTemp = no data stored
hc1 MaxSupplyTemperature = no data stored
hc1 MinSupplyTemperature = no data stored
hc1 MixedExternalTemperature = no data stored
hc1 NormalSetTemp = no data stored
hc1 ProgramChooseSwitch = no data stored
hc1 ReducedSetTemp = no data stored
hc1 Reduces = no data stored
hc1 RoomInfluence = no data stored
hc1 RoomSensorCorrection = no data stored
hc1 RoomSetValue = no data stored
hc1 RoomTemperature = no data stored
hc1 RoomThermostat = no data stored
hc1 StartOfHoliday = no data stored
hc1 StartOfHoliday.Day = no data stored
hc1 StartOfHoliday.Month = no data stored
hc1 SummerWinterChangeOverTemperature = no data stored
hc1 SupplySetValueHC = no data stored
hc1 SupplyTemperatureHC = no data stored
hc1 SupplyTemperatureWTC = no data stored
hc1 SwitchOffSetting = no data stored
hc1 SwitchOnSetting = no data stored
hc1 TypeOfConstruction = no data stored
hc1 WP.Di.1 = no data stored
hc1 WP.Di.2 = no data stored
hc1 WP.Di.3 = no data stored
hc1 WP.Do.1 = no data stored
hc1 WP.Do.2 = no data stored
hc1 WP.Do.3 = no data stored
hc1 WP.Fr.1 = no data stored
hc1 WP.Fr.2 = no data stored
hc1 WP.Fr.3 = no data stored
hc1 WP.Mi.1 = no data stored
hc1 WP.Mi.2 = no data stored
hc1 WP.Mi.3 = no data stored
hc1 WP.Mo.1 = no data stored
hc1 WP.Mo.2 = no data stored
hc1 WP.Mo.3 = no data stored
hc1 WP.Sa.1 = no data stored
hc1 WP.Sa.2 = no data stored
hc1 WP.Sa.3 = no data stored
hc1 WP.So.1 = no data stored
hc1 WP.So.2 = no data stored
hc1 WP.So.3 = no data stored
hc1 ZP.Di.1 = no data stored
hc1 ZP.Di.2 = no data stored
hc1 ZP.Di.3 = no data stored
hc1 ZP.Do.1 = no data stored
hc1 ZP.Do.2 = no data stored
hc1 ZP.Do.3 = no data stored
hc1 ZP.Fr.1 = no data stored
hc1 ZP.Fr.2 = no data stored
hc1 ZP.Fr.3 = no data stored
hc1 ZP.Mi.1 = no data stored
hc1 ZP.Mi.2 = no data stored
hc1 ZP.Mi.3 = no data stored
hc1 ZP.Mo.1 = no data stored
hc1 ZP.Mo.2 = no data stored
hc1 ZP.Mo.3 = no data stored
hc1 ZP.Sa.1 = no data stored
hc1 ZP.Sa.2 = no data stored
hc1 ZP.Sa.3 = no data stored
hc1 ZP.So.1 = no data stored
hc1 ZP.So.2 = no data stored
hc1 ZP.So.3 = no data stored
hc2 Adaption = no data stored
hc2 BoilerMKIncrease = no data stored
hc2 DHWOperation = no data stored
hc2 EndOfHoliday = no data stored
hc2 EndOfHoliday.Day = no data stored
hc2 EndOfHoliday.Month = no data stored
hc2 ExternalTemperature = no data stored
hc2 FloorDryingDay = no data stored
hc2 FloorDryingFunction = no data stored
hc2 FloorDryingTemperature = no data stored
hc2 FrostProtection = no data stored
hc2 Gradient = no data stored
hc2 HeatDemand = no data stored
hc2 HolidayTemp = no data stored
hc2 HP1.Di.1 = no data stored
hc2 HP1.Di.2 = no data stored
hc2 HP1.Di.3 = no data stored
hc2 HP1.Do.1 = no data stored
hc2 HP1.Do.2 = no data stored
hc2 HP1.Do.3 = no data stored
hc2 HP1.Fr.1 = no data stored
hc2 HP1.Fr.2 = no data stored
hc2 HP1.Fr.3 = no data stored
hc2 HP1.Mi.1 = no data stored
hc2 HP1.Mi.2 = no data stored
hc2 HP1.Mi.3 = no data stored
hc2 HP1.Mo.1 = no data stored
hc2 HP1.Mo.2 = no data stored
hc2 HP1.Mo.3 = no data stored
hc2 HP1.Sa.1 = no data stored
hc2 HP1.Sa.2 = no data stored
hc2 HP1.Sa.3 = no data stored
hc2 HP1.So.1 = no data stored
hc2 HP1.So.2 = no data stored
hc2 HP1.So.3 = no data stored
hc2 HP2.Di.1 = no data stored
hc2 HP2.Di.2 = no data stored
hc2 HP2.Di.3 = no data stored
hc2 HP2.Do.1 = no data stored
hc2 HP2.Do.2 = no data stored
hc2 HP2.Do.3 = no data stored
hc2 HP2.Fr.1 = no data stored
hc2 HP2.Fr.2 = no data stored
hc2 HP2.Fr.3 = no data stored
hc2 HP2.Mi.1 = no data stored
hc2 HP2.Mi.2 = no data stored
hc2 HP2.Mi.3 = no data stored
hc2 HP2.Mo.1 = no data stored
hc2 HP2.Mo.2 = no data stored
hc2 HP2.Mo.3 = no data stored
hc2 HP2.Sa.1 = no data stored
hc2 HP2.Sa.2 = no data stored
hc2 HP2.Sa.3 = no data stored
hc2 HP2.So.1 = no data stored
hc2 HP2.So.2 = no data stored
hc2 HP2.So.3 = no data stored
hc2 HP3.Di.1 = no data stored
hc2 HP3.Di.2 = no data stored
hc2 HP3.Di.3 = no data stored
hc2 HP3.Do.1 = no data stored
hc2 HP3.Do.2 = no data stored
hc2 HP3.Do.3 = no data stored
hc2 HP3.Fr.1 = no data stored
hc2 HP3.Fr.2 = no data stored
hc2 HP3.Fr.3 = no data stored
hc2 HP3.Mi.1 = no data stored
hc2 HP3.Mi.2 = no data stored
hc2 HP3.Mi.3 = no data stored
hc2 HP3.Mo.1 = no data stored
hc2 HP3.Mo.2 = no data stored
hc2 HP3.Mo.3 = no data stored
hc2 HP3.Sa.1 = no data stored
hc2 HP3.Sa.2 = no data stored
hc2 HP3.Sa.3 = no data stored
hc2 HP3.So.1 = no data stored
hc2 HP3.So.2 = no data stored
hc2 HP3.So.3 = no data stored
hc2 MaxMixerRuntime = no data stored
hc2 MaxPumpSpeed = no data stored
hc2 MaxSupplyTemperature = no data stored
hc2 MinPumpSpeed = no data stored
hc2 MinSupplyTemperature = no data stored
hc2 MixedExternalTemperature = no data stored
hc2 NormalSetTemp = no data stored
hc2 ProgramChooseSwitch = no data stored
hc2 ReducedSetTemp = no data stored
hc2 Reduces = no data stored
hc2 RoomInfluence = no data stored
hc2 RoomSensorCorrection = no data stored
hc2 RoomSetValue = no data stored
hc2 RoomTemperature = no data stored
hc2 RoomThermostat = no data stored
hc2 SpeedVariation = no data stored
hc2 StartOfHoliday = no data stored
hc2 StartOfHoliday.Day = no data stored
hc2 StartOfHoliday.Month = no data stored
hc2 SummerWinterChangeOverTemperature = no data stored
hc2 SupplySetValueHC = no data stored
hc2 SupplyTemperatureHC = no data stored
hc2 SupplyTemperatureWTC = no data stored
hc2 SwitchOffSetting = no data stored
hc2 SwitchOnSetting = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.08  = Kromschroeder;W ;0216;0101
scan.35  = Kromschroeder;W ;2634;0000
scan.51  = Kromschroeder;W ;3234;0001
scan.52  = Kromschroeder;W ;3234;0001
scan.75  = Kromschroeder;W ;2634;0000
scan.f5  = Kromschroeder;W ;3234;0001
scan.f6  = no data stored
w Enduser = no data stored
w ErrorHistory = no data stored
w Manufacturer1 = no data stored
w Manufacturer2 = no data stored
w ProcessValues1 = no data stored
w ProcessValues2 = no data stored
w ProcessValues3 = no data stored
w ProcessValues4 = no data stored
w ProcessValues5 = no data stored
w ProcessValues6 = no data stored
w Prozess2 = no data stored
w Statistic1 = no data stored
w Statistic2 = no data stored
w Statistic3 = no data stored
w Statistic4 = no data stored
w Statistic5 = no data stored
w Statistic6 = no data stored
w Statistic7 = no data stored


Ups gerade hatte ich nach einem Start noch folgende Fehler, kann es ggf. sein das mein Signalpegel vielleicht noch nicht perfekt eingestellt ist und ich noch etwas Feinabstimmung am Widerstand machen muss. Oder ist das jetzt eher eine SW/konfig Sache?

pi@knx-rpii ~/ebusd $ ebusd -f --address=FF --logareas=bus --loglevel=info --device=/dev/ttyUSB0 --scanconfig
2017-01-22 18:38:49.681 [bus notice] signal acquired
2017-01-22 18:38:52.194 [bus notice] new master f1, master count 2
2017-01-22 18:38:52.721 [bus notice] new master 30, master count 3
2017-01-22 18:38:55.827 [bus notice] new master 70, master count 4
2017-01-22 18:38:56.239 [bus notice] new master f0, master count 5
2017-01-22 18:38:59.666 [bus info] send message: fffe070400
2017-01-22 18:38:59.715 [bus info] send message: ff35070400
2017-01-22 18:39:01.981 [bus info] send message: ff51070400
2017-01-22 18:39:02.051 [bus error] send to 51: ERR: read timeout, retry
2017-01-22 18:39:02.138 [bus error] send to 51: ERR: read timeout, retry
2017-01-22 18:39:02.228 [bus error] send to 51: ERR: read timeout, retry
2017-01-22 18:39:02.315 [bus error] send to 51: ERR: read timeout
2017-01-22 18:39:04.315 [bus info] send message: ff75070400
2017-01-22 18:39:06.510 [bus info] send message: fff5070400
2017-01-22 18:39:08.642 [bus info] send message: fff6070400
2017-01-22 18:39:08.746 [bus error] send to f6: ERR: CRC error, retry
2017-01-22 18:39:08.863 [bus error] send to f6: ERR: CRC error, retry
2017-01-22 18:39:09.012 [bus error] send to f6: ERR: CRC error, retry
2017-01-22 18:39:09.174 [bus error] send to f6: ERR: CRC error


misc2000

J0EK3R

Hallo misc2000  :)

Die "duplicate entries" lassen sich leicht erklären: im Verzeichnis /etc/ebusd befindet sich das Unterverzeichnis weishaupt, in dem die Definitionen der Telegramme in den csv- und inc-Dateien liegen.
Da die Weishaupt-Geräte aber die Kennung für Kromschroeder verwenden (-> MF=Kromschroeder) und ebusd mit der Option --scanconfig in einem Verzeichnis mit genau dieser Kennung sucht, habe ich den entsprechenden Symlink /etc/ebusd/weishaupt -> /etc/ebusd/kromschroeder angelegt.

ebusd-checkconfig unterscheidet vermutlich die Telegrammdefinitionen nicht nach dem jeweiligen Hersteller-Verzeichnis. Und weil durch den Symlink eben zwei Hersteller-Verzeichnisse mit den selben Telegrammdefinitionen existieren, sind sämtliche Telegrammdefinitionen eben doppelt... :o
Das sollte aber kein Problem sein.

Wenn es Dich stört, dann lösche den Symlink, leg ein Verzeichnis /etc/ebusd/kromschroeder an und verschiebe alle Dateien aus dem weishaupt-Verzeichnis dort hin und lösche es dann.  ::)

misc2000

#74
hi JOK3r,
das mit den "duplicate entries" hatte ich mir auch schon fast so gedacht. Wenn diese Meldungen die Funktion nicht beeinflussen kann ich damit leben.
Ich versuche mich gerade etwas in das eBus Protokoll einzulesen und den Aufbau der CSV Dateien zu verstehen  :o
Da ich ja 2 externe Heizkreise mit je einem WCM-EM haben denke ich, muss ich noch die Datei 51.csv als Kopie mit dem Namen 52.csv für den 2. Heizkreis ablegen.
Richtig (Oder muss dafür noch mehr geändert werden)?

Kannst du mir mal ein paar Weishaupt Beispiel Abfragen nennen um zu sehen ob ich mit meiner neueren SW die gleichen Antworten wie du bekomme?
Und kann ich ebusd so konfigurieren das ich den kompletten ebus Verkehr sehe?
Ich wollte an der FB einzelne Werte des WCM-EM Abfragen und dachte ich würde die passenden Befehle dann auf dem eBus sehen um dann zu verstehen wie ich die WCM-EM abfragen kann...
Und wenn ich etwas für dich testen soll um ggf. eine Vermutung von dir zu bestätigen melde dich einfach!
Nochmal Danke für die Hilfe
misc2000